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


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 相关文章推荐
javascript 跨浏览器开发经验总结(五) js 事件
May 19 Javascript
JavaScript/jQuery 表单美化插件小结
Feb 14 Javascript
jquery实现最简单的滑动菜单效果代码
Sep 12 Javascript
js面向对象的写法
Feb 19 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
JavaScript算法教程之sku(库存量单位)详解
Jun 29 Javascript
vue实现动态列表点击各行换色的方法
Sep 13 Javascript
ajax与jsonp的区别及用法
Oct 16 Javascript
js字符串倒序的实例代码
Nov 30 Javascript
简单了解vue 插值表达式Mustache
Jul 22 Javascript
vue-cropper组件实现图片切割上传
May 27 Vue.js
探讨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
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
详解Vue之事件处理
2020/07/10 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
基于Python实现一个简单的银行转账操作
2016/03/06 Python
Python内置模块logging用法实例分析
2018/02/12 Python
python生成ppt的方法
2018/06/07 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
解决python3输入的坑——input()
2020/12/05 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
为什么使用接口?
2014/08/13 面试题
什么是java序列化,如何实现java序列化
2012/11/14 面试题
国外软件测试工程师面试题
2016/12/09 面试题
护士实习鉴定范文
2013/12/22 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
出租车拒载检讨书
2015/01/28 职场文书
出纳试用期自我评价
2015/03/10 职场文书
求职信格式范文
2015/03/19 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang