请求参数
参数名
类型
描述
必填
filePath
srting
要上传文件资源的路径: 单个路径
必填
小程序代码【已测试】
//上传图片开始
chooseImg: function (e) {
var goodsindex = e.currentTarget.dataset.goodsindex;
var that = this;
var dt = this.data.order_data;
var imgs = dt.orderdetail[goodsindex]['imgs'];
if (imgs.length >= 5) {
this.setData({
lenMore: 1
});
setTimeout(function () {
that.setData({
lenMore: 0
});
}, 2500);
return false;
}
wx.chooseImage({
count: 5, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
console.log('第一步')
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths;
var dt = that.data.order_data;
var imgs = dt.orderdetail[goodsindex]['imgs'];
for (var i = 0; i < tempFilePaths.length; i++) {
if (imgs.length >= 5) {
that.setData({
order_data:dt
});
return false;
} else {
imgs.push(tempFilePaths[i]);
}
}
that.setData({
order_data: dt
});
console.log('第二步');
/*******************/
var successUp = 0; //成功个数
var failUp = 0; //失败个数
var length = res.tempFilePaths.length; //总共个数
var i = 0; //第几个
that.uploadDIY(res.tempFilePaths, successUp, failUp, i, length);
/*******************/
}
});
},
/* 函数描述:作为上传文件时递归上传的函数体体;
* 参数描述:
* filePaths是文件路径数组
* successUp是成功上传的个数
* failUp是上传失败的个数
* i是文件路径数组的指标
* length是文件路径数组的长度
*/
uploadDIY(filePaths, successUp, failUp, i, length) {
var that = this;
wx.showLoading({
title: '图片上传中...',
})
api.uploadFile({
url: 'user/qiniu/wxappuploader',
filePath: filePaths[i],
name: 'file',
formData: {
'user': 'test'
},
success: (res) => {
if (res.code == 1) {
successUp++;
// 成功
console.log('*********返回的数据自己保存在数据里头start******');
console.log(res);
console.log('*********返回的数据自己保存在数据里头end******');
}
if (res.code == 0) {
// 失败
that.setData({
isuploaderror: 1
});
failUp++;
}
},
fail: (res) => {
that.setData({
isuploaderror: 1
});
failUp++;
},
complete: () => {
i++;
if (i == length) {
wx.hideToast();
var txt = '总共' + successUp + '张上传成功,' + failUp + '张上传失败!';
wx.showToast({
title: txt,
icon: 'success',
duration: 2000
})
} else { //递归调用uploadDIY函数
if (that.data.isuploaderror) {
wx.showToast({
title: '图片上传失败,请重新选择上传',
icon: 'success',
duration: 2000
})
} else {
this.uploadDIY(filePaths, successUp, failUp, i, length);
}
}
}
});
},
返回数据
