背景:
由于对论坛UCenter做了会员同步,为了保持会员头像同步,在主站里调用头像的地方,改为论坛图像的引用方式,PC端可以使用剥离论坛flash上传的模式进行上传,但是APP却没有更新头像的功能,查看了下uc_client包里,上传头像onuploadavatar函数并没有写。

将主要代码记录如下:

//记得  require_once("uc_client/client.php");$data['user_id'] = $_POST['user_id'];//需要修改头像的用户ID$data['avatar1'] = $_POST['avatar1'];//图片内容字符串,图片宽、高小于200px$data['avatar2'] = $_POST['avatar2'];//图片内容字符串,图片宽、高小于120px$data['avatar3'] = $_POST['avatar3'];//图片内容字符串,图片宽、高小于48px$_result = UpAvatar($data);

主要逻辑处理函数:

    /*    ** 将需要上传的头像图片内容进行转码    */    static public function replace_img_str($img){        if(!$img){            return '';        }

        return strtoupper(bin2hex($img));    }

    /*    * Author: 2016-5-30    * Descript:获取Ucenter头像上传地址    * Param:    * Return:array     */    public function GetUcAvatarUpUrl($data){        $user_id = $data['user_id'];

        //将本站user_id转为UCenter中对应的user_id        $resultuid = self::GetUserIdOne($user_id);        $uid = $resultuid['uc_user_id'];

        //生成签名信息        $uc_input = uc_api_input("uid=$uid");        $agent=md5($_SERVER['HTTP_USER_AGENT']);

        $url = UC_API.'/index.php?m=user&inajax=1&a=rectavatar&appid=2&input='.$uc_input.'&agent='.$agent.'&avatartype=virtual';

        return $url;    }

    /*    ** 接口更新用户头像    */    public function UpAvatar($data){        if($data['user_id']=='' || $data['avatar1']==''){            return '参数错误';        }        //用户上传头像提交地址        $_result['url'] = GetUcAvatarUpUrl($data);

        $parameter = array();  $parameter['avatar1'] = replace_img_str($data['avatar1']);   $parameter['avatar2'] = replace_img_str($data['avatar2']);   $parameter['avatar3'] = replace_img_str($data['avatar3']);

        //通过CURL方式POST操作        postCurlRequest($_result['url'], $parameter);

        return $_result;    }

上传后的头像位于/bbs/uc_server/data/avatar/000/00/00/目录下,如果你操作后没有效果,可能是因为discuz对图片尺寸进行检查后被删除,可以注释 /bbs/uc_server/control/user.php中385 -387行代码后再操作看效果

file_exists($bigavatarfile) && unlink($bigavatarfile);file_exists($middleavatarfile) && unlink($middleavatarfile);file_exists($smallavatarfile) && unlink($smallavatarfile);

如果成功,则返回

<?xml version="1.0" ?><root><face success="1"/></root>

如果失败,则返回

<?xml version="1.0" ?><root><face success="0"/></root>

若返回

<root><message type="error" value="-1" /></root>

代码uid参数没传

<root><message type="error" value="-2" /></root>

3个头像参数有缺失

按以上方式整合入项目运行即可。

通过uc_client接口方式,更新discuz会员头像相关推荐

  1. Discuz 会员头像调用方法之discuz_uc_avatar函数

    现在Discuz越来越走向开放化,只要会网站技术都可以对DZ的程序进行修改,还可以开发插件和模板等.UCenter用户中心是很重要的,它是很多应用的中心.其中会员头像就是通过UC调用的.大家可以发现头 ...

  2. discuz!X2头像无法显示解决方法

    discuz x2刚刚发布,很多站长就迫不及待地将自己的论坛升级. 可是安装完discuz X2之后,就马上发现论坛会的头像都不见了,取而代之的是一个小红叉.会员也没有办法设置自己的头像. 各位站长们 ...

  3. Java22-day13【Lambda表达式(标准格式、练习、注意事项)、接口组成更新(默认-静态-私有方法)、方法引用(构造器)】

    视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...

  4. 【JavaSE】Lambda表达式、接口组成更新、方法引用

    文章目录 1. Lambda表达式 1.1 Lambda表达式初体验 1.2 Lambda表达式的基本格式 1.3 Lambda表达式练习 1.4 Lambda表达式的省略规则 1.5 Lambda表 ...

  5. 5.22 综合案例2.0-4G远程遥控车DEMO(2.2版本接口有更新)

    综合案例2.0-4G远程遥控车DEMO 简介 准备 硬件连接图 代码流程 1.物联网平台开发 2.设备端开发 调试 3.物联网应用开发 3.1新建'普通项目' 3.2关联产品和设备 3.3新建'移动应 ...

  6. java接口方式调用海康大华摄像机预览。

    客户有海康和大华的监控设备,没有买各类安防平台,国标方式需要预留给其他需要接入的系统,得兼容高版本chrome,询问了大华的客服人员,最后选择了该方案进行解决,记录下曲折的过程.延迟大约10秒的样子, ...

  7. JavaSE学习18(接口组成更新,方法引用)

    接口组成更新 1.1 接口组成更新概述 接口的组成常量: public static final 可省略抽象方法: public abstract 可省略 java8之后 加入了默认方法:静态方法: ...

  8. 十三、Java高级特性 Lambda表达式 | 接口组成更新 | 方法引用 | 函数式接口

    文章目录 十三.Java高级特性 1.Lambda表达式 1.1体验Lambda表达式[理解] 1.2Lambda表达式的标准格式[理解] 1.3Lambda表达式练习1[应用] 1.4Lambda表 ...

  9. 5.25 综合案例2.0-居家隔离监控系统(2.2版本接口有更新)

    综合案例2.0-居家隔离监控系统 简介 AJ-SR04M- T-X超声波测距模块 准备 硬件连接图 代码流程 功能实现 1.物联网平台开发 2.设备端开发 3.调试 4.创建钉钉机器人 5.IoT S ...

  10. Java学习记录五(多线程、网络编程、Lambda表达式和接口组成更新)

    Java学习记录五(多线程.网络编程.Lambda表达式和接口组成更新) Java 25.多线程 25.1实现多线程 25.1.1进程 25.1.2线程 25.1.3多线程的实现 25.1.4设置和获 ...

最新文章

  1. OpenCV+python:霍夫变换与直线检测
  2. Educational Codeforces Round 12 A. Buses Between Cities 水题
  3. matlab画图函数plot
  4. 94年出生,她们如今都是985高校博士生导师!
  5. c语言inline不起作用,C语言inline内联函数学习小结
  6. 【图像处理】二维付立叶变换和滤波 (Two-Dimensional Fourier Transform and Filtering)
  7. JS广告代码效果大全
  8. linux重启tomcat进程,Linux系统重启tomcat服务的方法详解
  9. 百度网盘微信小程序文件 同步到百度网盘APP或客户端
  10. Scrapy报错之:Request object has no attribute dont_filter
  11. ibm r40的内存品牌_在IBM Business Process Manager中品牌化和定制教练主题
  12. Java 获取IP地址的工具类
  13. 干货 | 如何用好 ISO 9001质量管理体系
  14. ​盘点几款国内外安全稳定的域名解析平台​
  15. Android 10 加载手机本地图片
  16. VAE逻辑整理及VAE在异常检测中的小实验(附代码)
  17. upload-labs第一关
  18. CEF资源无法下载(https://cef-builds.spotifycdn.com)
  19. vue表单校验一直不通过
  20. css 录音声波动效

热门文章

  1. Visual Studio 2017美化(修改字体,图片背景)
  2. HTML Typo.css 中文网页重设与排版
  3. VUE中toast的使用与开发
  4. python文件重命名加日期_Python文件创建日期和Critiqu的重命名请求
  5. 数据库_之常用API的使用
  6. PL(Procedural Language)/SQL程序设计语言
  7. Codeforces #319E: Ping-Pong 题解
  8. 协调世界时转换为GPS周秒(转载)
  9. Unity 5.x 导入教学Demo
  10. 学微信小程序要学些什么?