1,wx.uploadFile只能同时上传一个文件,不然会报错
2,wx.uploadFile会在返回的结果中包一层,真正返回的在res.data中,是一个字符串,要用JSON.parse(str)转换成json
上传图片实例
// 上传图片
/* 函数描述:作为上传文件时递归上传的函数体体;
* 参数描述:
* filePaths是文件路径数组
* successUp是成功上传的个数->0
* failUp是上传失败的个数->0
* i是文件路径数组的指标->0
* length是文件路径数组的长度
*/
uploadDIY(filePaths, successUp, failUp, i, length) {
wx.uploadFile({
url: all.baseurl + 'image/uploadimg',
filePath: filePaths[i],
name: 'image',
formData: {
title: this.data.title,
content: this.data.content,
type: this.data.category
},
success: (res) => {
successUp++;
// console.log('上传图片成功:', JSON.parse(res.data));
var data = JSON.parse(res.data);
// 把获取到的路径存入imagesurl字符串中
this.data.imagesurl
this.setData({
imagesurl: this.data.imagesurl.concat(data.data)
})
// console.log(this.data.imagesurl)
},
fail: (res) => {
failUp++;
},
complete: () => {
i++;
if (i == length) {
Toast('总共' + successUp + '张上传成功,' + failUp + '张上传失败!');
} else { //递归调用uploadDIY函数
this.uploadDIY(filePaths, successUp, failUp, i, length);
}
},
});
},