请问微信小程序多张图片同时并发上传代码怎么写?
网友回复
data:{ files:[], previewfiles:[], }, chooseImage:function (e) { var self =this; let files = self.data.files || []; let maxLength = 3; let count = maxLength - files.length; wx.chooseImage({ count: count, sizeType: ['original','compressed'],// 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album','camera'],// 可以指定来源是相册还是相机,默认二者都有 success:function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 let imageUrl = res.tempFilePaths; console.log("chooseImage imageUrl=>", imageUrl) var p = []; imageUrl.forEach((it, index) => { self.setData({ files: self.data.files.concat(it), previewfiles: self.data.previewfiles.concat(it) }); var myPromise =new Promise((resolve, reject) => { self.uploadfileMultiple(it,function (relativePath) { resolve(relativePath[0]); }); }); p.push(myPromise); }); console.log("p=>", p); // 数组 Promise.all(p).then(uploadFiles => { console.log("relativePath uploadFiles=>", uploadFiles); self.setData({ uploadFiles: uploadFiles }); }, reason => { console.log("relativePath reason=>", reason); }); } }); }, uploadfileMultiple:function (filePath, callback) { var self =this; var ticket = wx.getStorageSync('ticket'); try { let formData = { ticket: ticket, folder:"folder/pic" } console.log("formData=>", formData) wx.uploadFile({ url:'后端上传文件接口地址',// 仅为示例,非真实的接口地址 filePath: filePath, name:'file', formData: formData, success(res) { console.log("wx.uploadFile res=>", res); let resData = res.data; if (typeof resData =="string") { resData = JSON.parse(resData); } if (resData.rstId == 1) { let obj = resData.object || []; let relativePath = obj[0].relativePath; if (!!callback) { callback([relativePath]); } }else { wx.showToast({ title:'上传失败', }) } } },true) }catch (e) { console.log(e) } },