单图上传改为多图上传,后台就接收不到数据了?

<input type="file" multiple accept="image/png,image/gif,image/jpeg" @change="getFile($event)">

    

//获取input

getFile:function(e){

    this.file = e.target.files;

},


//创建

creation:function(){

    console.log(this.file);

    let formData = new FormData();

    formData.append('file', this.file);

    formData.append('name', 'tomorrow');

        headers : { 

            'Content-type': 'multipart/form-data'

        }

    })

    .then(res => {

        //创建成功

    })

},

之前是单图上传的,后台可以接收得到数据。现在需求变了改为多图上传
我把

this.file = e.target.files[0];

改为

this.file = e.target.files;

按道理应该是这样的吧,可后台就接收不到数据了?


墨色风雨
浏览 179回答 2
2回答

慕哥6287543

files是数组,要循环appendfor(var&nbsp;i&nbsp;=&nbsp;0;i&nbsp;<&nbsp;this.file.length;i++){ &nbsp;&nbsp;&nbsp;&nbsp;formData.append('file[]',&nbsp;this.file[i]); }

撒科打诨

按道理应该不是这样,你应该for循环把file[i]依次append进formData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;this.file.length;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;formData.append('file',&nbsp;this.file[i]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP