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


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 相关文章推荐
Add a Table to a Word Document
Jun 15 Javascript
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
使用AOP改善javascript代码
May 01 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
全面解析Node.js 8 重要功能和修复
Jun 02 Javascript
浅谈Webpack下多环境配置的思路
Jun 27 Javascript
JavaScript键盘事件响应顺序详解
Sep 30 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
通过实例解析JavaScript常用排序算法
Sep 02 Javascript
JS sort排序详细使用方法示例解析
Sep 27 Javascript
JavaScript 数组去重详解
Sep 15 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
劣质的PHP代码简化
2010/02/08 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
python数据处理实战(必看篇)
2017/06/11 Python
matplotlib绘制动画代码示例
2018/01/02 Python
pycham查看程序执行的时间方法
2018/11/29 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
程序员机试试题汇总
2012/03/07 面试题
自我管理的活动方案
2014/08/25 职场文书
股指期货心得体会
2014/09/10 职场文书
环卫工作汇报材料
2014/10/28 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
公司档案管理制度
2015/08/05 职场文书