小程序怎么实现多图片上传
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"小程序怎么实现多图片上传",在日常操作中,相信很多人在小程序怎么实现多图片上传问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"小程序怎么实现多图片上传"
千家信息网最后更新 2026年11月02日小程序怎么实现多图片上传
这篇文章主要介绍"小程序怎么实现多图片上传",在日常操作中,相信很多人在小程序怎么实现多图片上传问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"小程序怎么实现多图片上传"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
小程序开发之变相实现多图片上传新手教程。开发中总会需要文件上传的功能(比如图片上传),微信提供了wx.uploadFile(OBJECT)方法,用来将文件上传至服务器。
上传图片之前自然需要选择图片,小程序API -- wx.chooseImage(OBJECT)。就是从本地相册选择图片或者使用相机拍照。

OBJECT参数说明如下:
wx.chooseImage({ count: 9, //最多可以选择的图片数,默认为9 sizeType: ['orignal','compressed'], //original 原图,compressed 压缩图,默认二者都有 sourceType: ['album', 'camera'], //album 从相册选图,camera 使用相机,默认二者都有 success: function(){}, //成功则返回图片的本地文件路径列表 tempFilePaths fail: function(){}, //接口调用失败的回调函数 complete: function(){} //接口调用结束的回调函数(调用成功、失败都会执行)})success返回参数: tempFilePaths: 图片的本地文件路径列表
wx.uploadFile(OBJECT)
wx.uploadFile({ url: 'https://example.weixin.qq.com/upload', //开发者服务器 url filePath: tempFilePaths[0],//要上传文件资源的路径 name: 'file', //文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容 formData:{ //HTTP 请求中其他额外的 form data 'user': 'test' }, success: function(res){ var data = res.data //do something } })在chooseImage回调函数里调用上传方法!
前久,做了一个如上图的图片上传功能!直接上代码吧:
/* 函数描述:作为上传文件时递归上传的函数体体; * 参数描述: * filePaths是文件路径数组 * successUp是成功上传的个数 * failUp是上传失败的个数 * i是文件路径数组的指标 * length是文件路径数组的长度 */ uploadDIY(filePaths,successUp,failUp,i,length){ var that = this; app.toastShow(0,"图片上传中...",20000000,1); wx.uploadFile({ url: '/uploadurl/', filePath: filePaths[i], name: 'file', formData:{ 'user': 'test' }, success: (res) => { successUp++; var srcArr = that.data.src; srcArr.push(filePaths[i]), that.setData({ src : srcArr }); var data = JSON.parse(res.data); var newpicKeys = that.data.picKeys; newpicKeys.push(data.data['pic_key']); that.setData({ picKeys: newpicKeys }); }, fail: (res) => { that.setData({ isuploaderror: 1 }); failUp ++; }, complete: () => { i ++; if(i == length){ wx.hideToast(); var txt = '总共'+successUp+'张上传成功,'+failUp+'张上传失败!'; app.toastShow(0,txt,2000,1); }else{ //递归调用uploadDIY函数 if(that.data.isuploaderror){ app.toastShow(0,'图片上传失败,请重新选择上传',2000,1); }else{ this.uploadDIY(filePaths,successUp,failUp,i,length); } } } }); }, uploadImage:function(e){ var that = this; that.setData({ isuploaderror: 0 }); var nowLen = that.data.src.length; var remain = 9 - nowLen; wx.chooseImage({ count: remain, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success: (res) => { var successUp = 0; //成功个数 var failUp = 0; //失败个数 var length = res.tempFilePaths.length; //总共个数 var i = 0; //第几个 this.uploadDIY(res.tempFilePaths,successUp,failUp,i,length); }, }); }因为wx.uploadFile只能单个文件上传,所以需要变相的实现多文件上传,即,complete回调里调用uploadDIY调用函数本身~ 直到i==length!
到此,关于"小程序怎么实现多图片上传"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
图片
文件
函数
路径
程序
成功
个数
学习
开发
选择
参数
数组
方法
服务器
服务
功能
开发者
接口
更多
相册
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司怎么样
科技赋能下的互联网金融
疫情对互联网科技公司影响
互联网科技开发公司
中国互联网科技发展
唐信互联网科技
奇士达互联网科技
时间互联网络科技
万达互联网科技
润盈互联网科技
中盈科技互联网信息有限公司
移动互联网年度科技创新
宜昌元轩互联网科技有限公司
企晟互联网信息科技有限公司
华夏恒生科技与互联网科技
世界互联网领先科技成果获奖
南博望互联网科技有限公司
互联网科技实习生岗位
互联网风格科技公司名称
东风日产互联网科技公司叫什么
科技互联网公司装修
互联网 科技创业
致聘互联网科技
银优互联网科技有限公司
顺玮阁互联网科技
金融科技和互联网金融
卫星互联网科技股票
科技与互联网哪个更好
厦门比较好的科技互联网公司
广州互联网高科技取餐柜