phpcms 微信上传头像接口

调用微信jssdk,页面js由前端写好,后台需要把微信签名传到前端,需要从前端得到图片的url  安卓和iphone传过来的不一样,iphone是经过base64加密的

先在控制器里写一个方法加载微信类库

 

这里引入编辑模版,把微信签名传到前台模版,获取微信签名用到的是jssdk里写好的方法。

 

前台根据传过去的微信签名判断是是不是微信上传,然后前台通过js  调用相关方法,并且把iphone上传的图片的base64数据,以及安卓上传的在服务器端的id 返回到后台(此处省略一万字,十万图,无数js...),然后在后台进行数据的处理

先判断不为空 说明有图片上传,后台得到了微信传过来的图片的url

正则匹配base64,如果匹配到了就进行iphone的相关操作: save_base64_photo()是自己写的(扩展函数库里), 用于解密并保存iphone上传的图片到指定路径,并把路径返回,然后将返回的路径当参数传到自己写的do_upload_avatar()方法里,进行生成相关缩略图的操作,生成的缩略图按照phpsso的格式 这样通过phpsso的方法就可以得到图片了。

如果没有匹配到base64 那么就说明是安卓上传的,安卓上传的就需要用到jssdk里的方法把图片下载并保存了。 调用getmedia()  是jssdk里的方法,返回的也是如片路径,后续就是同上。

 

一些细节:jssdk里获取access_token的时候,appid之类的要配置对,如果这里没配置对的话,即便是前台传参正确,最后getmedia返回的文件路径也不会对,我就是返回了一个后最为plain的村文本路径。

iphone传到后台的是bas64 加密的,安卓传到后台的是一串字符串。

iphone:

 

 

安卓:

 

写的比较乱,抽空整理

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值