hbuilder如何上传多张图片?

这是发送请求的代码:


//提交

let task = window.plus.uploader.createUpload(`${apiConfig.config.baseURL}complaint/insertComplaint`,{

    method: 'POST',

    headers: {

        "Content-Type": "multipart/form-data"

    }

},(data, status)=>{

    console.log(data);

    let res = (new Function("return " + data.responseText))();

    //上传完成

    if(res.code == 200){

        console.log('提交成功');

        console.log(res);

    }

    else{

        this.$toast(res.data.msg);

    }

})

task.setRequestHeader('token', localStorage.token);    

//多图上传

for(let i=0;i<this.images.length;i++){

    //this.images是图片路径数组,为['1.jpg','2.jpg','3.jpg']

    task.addFile(this.images[i],{ key: 'multipartFiles' }); 

}

task.addData("byUserUid",this.userId); //投诉人

task.addData("toUserUid",this.accused); //被投诉人

task.addData("reason",this.chinese_reason);  //原因(传中文)

task.addData("content",this.msg);  //内容

task.addData("severeStatus",this.value_reason);  //投诉级别(传id)

task.addData("orderUid",this.value_order);  //投诉订单

task.start(); //开始上传

后端的接口文档是这样的:

https://img3.mukewang.com/5ce0cf9100013af508000715.jpg

可是无论如何,后端那边只能收到第一张图片,是我用法有问题吗?


鸿蒙传说
浏览 1649回答 1
1回答

慕勒3428872

你可以试试每次单张上传然后轮询一下。应该是你这个key重复了吧 ,你换一个随机数试一下。for(let i=0;i<this.images.length;i++){&nbsp; &nbsp; //this.images是图片路径数组,为['1.jpg','2.jpg','3.jpg']&nbsp; &nbsp; task.addFile(this.images[i],{ key: ~~Math.random()*10});&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP