最近由于项目需要就学了一下微信小程序,项目中有用到多文件上传,但微信小程序中的上传文件api只能单文件上传,便有了以下的一些总结
/**
* 递归上传文件
* @param option 上传参数
* @param callback 上传完成回调函数
*/
function uploadAllFile(option,resolve) {
var ids = option.ids ? option.ids : [];
var successUp = option.successUp ? option.successUp : 0;
var failUp = option.failUp ? option.failUp : 0;
var index = option.index ? option.index : 0;
wx.uploadFile({
url: option.url,
filePath: option.filePath[index],
name: '', // 上传文件参数名
header: {
'token': '' // 上传token
},
formData: option.formData, // 上传文件附带表单元素
success: (res) => {
var data = JSON.parse(res.data)
successUp++;
if (data.code == 200){
ids.push(data.data.id) // 上传成功把id保存
}
},
fail: (res) => {
failUp++;
},
complete: function (res) {
index++;
if (index >= option.filePath.length) {
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 1000
})
resolve(option)
} else {
option.index = index;
option.successUp = successUp;
option.failUp = failUp;
option.ids = ids;
uploadAllFile(option,callback);
}
},
})
}
首席阿里巴巴zzzzzzzzzz