http代码封装:
function upload(url = baseUrl,filePath,formData){
let ts = util.gettimestamp();
let transid = util.gettransid(ts);
let sign = util.getsign(transid);
const baseUrl = getApp().globalData.serverInterfaceUrl
formData.ts = ts
formData.transid = transid
formData.sign = sign
for(let i=0;i<filePath.length;i++){
console.log("第"+i+"张图片:",filePath[i].uri)
}
return new Promise((resolve,reject)=>{
uni.uploadFile({
url: baseUrl + url,
files:filePath,
formData:formData,
}).then((response)=>{
setTimeout(function(){
let [error,res] = response
resolve(JSON.parse(res.data))
})
}).catch(error=>{
let [err,res] = error
reject(err)
})
})
}
然后页面中调用
imgList是调用手机拍照的结果集。
let imgs = that.imgList.map((value,index)=>{
return {
name: 'img'+index,
uri: value.uri
}
})
httpclient.upload('',imgs,data).then(res=>{
uni.hideLoading()
if(res.code == 100){
uni.showToast({
title:"上传成功"
})
}else{
uni.showToast({
title: '上传失败,'+res.msg,
icon: 'none'
});
}
})
单张图片无问题,多张图片h5端也可以正常上传。但运行到 android手机,每次只能上传最后一张。
客户端日志显示有多张上传,但服务端每次只能接收到一张。
1 个回复
5***@qq.com
我也遇到同样的问题 app还是框架本身拦截了只能上传最后一张图片, 最后你是怎么实现的呢?