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


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 相关文章推荐
Uglifyjs(JS代码优化工具)入门 安装使用
Apr 13 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
浅谈React高阶组件
Mar 28 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
JavaScript实现背景自动切换小案例
Sep 27 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
Apr 17 Javascript
js闭包的9个使用场景
Dec 29 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
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
php生成zip文件类实例
2015/04/07 PHP
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
小区门卫工作职责
2013/12/14 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
诚信承诺书范文
2014/03/27 职场文书
历史学专业求职信
2014/06/19 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
2014年政协工作总结
2014/12/09 职场文书
小班下学期个人总结
2015/02/12 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
简单的辞职信模板
2015/05/12 职场文书
社区服务活动感想
2015/08/11 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书