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


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 JavaScript获取Url参数,src属性参数
Mar 09 Javascript
了解一点js的Eval函数
Jul 26 Javascript
JavaScript中清空数组的方法总结
Dec 02 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
手机注册发送验证码倒计时的简单实例
Nov 15 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
Aug 06 Javascript
微信小程序使用component自定义toast弹窗效果
Nov 27 Javascript
微信小程序绘制图片发送朋友圈
Jul 25 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
layui之table checkbox初始化时选中对应选项的方法
Sep 02 Javascript
js简单实现自动生成表格功能示例
Jun 02 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 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脚本的10个技巧(3)
2006/10/09 PHP
php操作路径的经典方法(必看篇)
2016/10/04 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
javascript正则表达式总结
2016/02/29 Javascript
详解angular element()方法使用
2017/04/08 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
js module大战
2019/04/19 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
Python连接mysql数据库的正确姿势
2016/02/03 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
Python中Yield的基本用法
2020/10/18 Python
python3 kubernetes api的使用示例
2021/01/12 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
2013的个人自我评价
2013/12/26 职场文书
小学美术教学反思
2014/02/01 职场文书
安全标准化实施方案
2014/02/20 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
小学生作文批改评语
2014/12/25 职场文书
公司员工辞职信范文
2015/05/12 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
拙作再改《我的收音机情缘》
2022/04/05 无线电
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers