微信小程序实现同时上传多张图片


Posted in Javascript onFebruary 03, 2020

本文实例为大家分享了微信小程序实现同时上传多张图片的具体代码,供大家参考,具体内容如下

1.图片选择后,路径已经存入list中:

data: { 
 images: [], //选择的图片 
 },

2.调用递归上传的方法:

wx.chooseImage({
 var that = this
 count: 9,
 sizeType: ['original', 'compressed'],
 sourceType: ['album', 'camera'],
 success: function(res){ 
 var successUp = 0; //成功,初始化为0
 var failUp = 0; //失败,初始化为0
 var length = that.data.images.length; //总共上传的数量
 var count = 0; //第几张,初始化为0
 var url = serverUrl + '/secondHand/uploadImg?id=' + secondHandId; //上传的接口
 //调用上传图片的公共函数
 that.uploadOneByOne(url, that.data.images, successUp, failUp, count, length);
 }, 
 });

3.递归上传方法:

/**
 * 上传图片:递归的方式上传
 * url:上传地址
 * imgPaths:上传的图片列表
 * successUp:上传成功的个数,初始化为0
 * failUp:上传失败的个数,初始化为0
 * count:第几张
 * length:图片列表的长度
 */
 uploadOneByOne(url, imgPaths, successUp, failUp, count, length) {
 var that = this;
 wx.uploadFile({
 url: url, //上传地址地址
 filePath: imgPaths[count],
 name: "file", //后台接收的文件名
 success: function(e) {
 successUp++; //成功+1
 },
 fail: function(e) {
 failUp++; //失败+1
 },
 complete: function(e) {
 count++; //下一张
 if (count == length) {
 TODO: 上传完毕后跳转页面
 wx.showToast({
 title: '发布成功',
 icon: 'success',
 duration: 2000
 })
 }
 else {
 //递归调用,上传下一张
 that.uploadOneByOne(url, imgPaths, successUp, failUp, count, length);
 }
 }
 })
 },

4.后台接口:

@PostMapping("/uploadImg")
public String addSecondHandImg(String id, @RequestParam("file") MultipartFile[] files) {
 //该接口被多次调用,这里写自己的业务,省略。。。
 return "";
}

文章参考:微信小程序实现上传多个文件 超过10个

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
js 浏览本地文件夹系统示例代码
Oct 24 Javascript
js 上传文件预览的简单实例
Aug 16 Javascript
炫酷的js手风琴效果
Oct 13 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
Oct 28 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
angular学习之ngRoute路由机制
Apr 12 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
详解10分钟学会vue滚动行为
Sep 21 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
Sep 07 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
js实现计算器功能
Aug 10 Javascript
解决小程序无法触发SESSION问题
Feb 03 #Javascript
vue组件创建的三种方式小结
Feb 03 #Javascript
Vuex模块化应用实践示例
Feb 03 #Javascript
微信小程序8种数据通信的方式小结
Feb 03 #Javascript
使用js实现单链解决前端队列问题的方法
Feb 03 #Javascript
javscript 数组扁平化的实现
Feb 03 #Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 #Javascript
You might like
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
phpQuery占用内存过多的处理方法
2013/11/13 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
require.js中的define函数详解
2017/07/10 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python 递归函数详解及实例
2016/12/27 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python unichr函数知识点总结
2020/12/16 Python
生产部统计员岗位职责
2014/01/05 职场文书
自我评价的写作规则
2014/01/06 职场文书
少年闰土教学反思
2014/02/22 职场文书
《云房子》教学反思
2014/04/20 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
五一劳动节慰问信
2015/02/14 职场文书
八年级语文教学反思
2016/03/03 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
Nginx速查手册及常见问题
2022/04/07 Servers
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python