你可以用wxrequest把头像的url发送到后台服务器,由后台服务器去获取这个。
比如说你的后台程序是php的,可以这样(假定文件名为save_txphp):
<php
$fn=base_convert(time()mt_rand(0,9),10,36)"jpg";
file_put_contents($fn,file_get_contents($_GET['url']));
echo "头像上传为"$fn;
>
这样在微信小程序中就可以这样(假定用户头像的url已保存到变量txUrl中):
wxrequest({
url: '服务器域名路径/save_txphpurl=' + encodeURIComponent(txUrl),
success: res => {
wxshowToast({
title: res,
icon: "none"
})
}
})
设置原因。
主要原因是因为微信管理公众平台小程序开发、开发设置、服务器域名下的服务器配置,uploadFile合法域名,没有添加服务器请求域名地址。
微信WeChat是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造。微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、和文字,同时,也可以使用通过共享流媒体内容的资料和基于位置的社交插件摇一摇、朋友圈、公众平台、语音记事本等服务插件。
在实际开发中,很多时候都需要要上传,但是对于上传多张时需要一张张的上传,因为都可能比较大,这时就需要我们对上传的API进行进一步的处理,这样就解决了我们同时选择上传多张需求。所以为了方便以后使用,封装成一个特定的组件分享出来,也许很多能用到,也可能用不到,但是修改一下还是差不多一样可以用的。
多张上传的原理其实就是用递归的方法,在每一张上传完之后再继续上传下一张,直到完成为止。
新建一个uploadImages组件文件,定义组件的样式结构及js文件。
1页面样式布局
view
css
插件这样大概就完成了,不过不是每一个人都是和我一样的情况,使用请具体项目分析。
实例请查看地址: https://githubcom/kingbuwu/uploadImages