微信小程序 上传头像的实例详解


Posted in Javascript onOctober 27, 2017

微信小程序 上传头像的实例详解

最近在做微信小程序上传头像和上传照片功能就随手写一下代码:

微信小程序 上传头像的实例详解

 上传头像html:

<view class="edit-list">
<text class="list-name list-first">头像</text>


<view class="edit-righr-bar">


<image class="head-portrait" src="{{avatar}}" bindtap='changeAvatar'></image>

</view>
</view>

js代码:

// 切换头像
changeAvatar: function () {
var that = this;
// var childId = wx.getStorageSync("child_id");
// var token = wx.getStorageSync('token');
wx.chooseImage({
count: 1, // 最多可以选择的图片张数,默认9
sizeType: ['compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function (res) {
console.log(res.tempFilePaths + "修改页面")
var avatar = res.tempFilePaths;
that.setData({
avatar: avatar,
upAvatar:true
})
 
},
fail: function () {
// fail
},
complete: function () {
// complete
}
})
},
这是是调用上传头像uploadFile方法
// 上传头像
app.uploadimg({
url: 'URL地址',
path: avatar,
header: {
'Content-Type': 'multipart/form-data',
"Authorization": "Bearer " + token
},
isShow: false
});
 
上传头像代码uploadFile做了一个封装 代码放在APP.js里
//多张图片上传
uploadimg:function(data){
var that= this,
i=data.i ? data.i : 0,
success=data.success ? data.success : 0,
fail=data.fail ? data.fail : 0;
wx.uploadFile({
url: data.url,
filePath: data.path[i],
name: 'fileData',//这里根据自己的实际情况改
header: data.header,
formData: {
sequence:i+1
},
success: (resp) => {
success++;
console.log(resp)
console.log(i+"成功");
 
 
}
 
},
fail: (res) => {
fail++;
console.log('fail:' + i + "fail:" + fail);
},
complete: () => {
console.log(i);
i++;
if (i == data.path.length) { //当图片传完时,停止调用
console.log('执行完毕');
console.log('成功:' + success + " 失败:" + fail);
 
} else {//若图片还没有传完,则继续调用函数
console.log(i);
data.i = i;
data.success = success;
data.fail = fail;
that.uploadimg(data);
}

}
});
},

 uploadFile 提交默认是post方法,后台给的接口的时候需要后台做成post

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Jquery知识点二 jquery下对数组的操作
Jan 15 Javascript
js中哈希表的几种用法总结
Jan 28 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
详解webpack+gulp实现自动构建部署
Jun 29 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
深入浅析vue组件间事件传递
Dec 29 Javascript
javascript中的replace函数(带注释demo)
Jan 07 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
Dec 26 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
May 31 Javascript
vuex 中插件的编写案例解析
Jun 10 Javascript
探讨Vue.js的组件和模板
Oct 27 #Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 #jQuery
关于jQuery里prev()的简单操作代码
Oct 27 #jQuery
JS获取数组中出现次数最多及第二多元素的方法
Oct 27 #Javascript
JavaScript数据结构之优先队列与循环队列实例详解
Oct 27 #Javascript
Express系列之multer上传的使用
Oct 27 #Javascript
微信小程序返回多级页面的实现方法
Oct 27 #Javascript
You might like
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
PHP图片水印类的封装
2017/07/06 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
Python中的TCP socket写法示例
2018/05/11 Python
python实现dijkstra最短路由算法
2019/01/17 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
外企测试工程师面试题
2015/02/01 面试题
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
世界红十字日活动总结
2015/02/10 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js