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

<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;

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

阅读 2k
2 个回答

按道理应该不是这样,你应该for循环把file[i]依次append进formData

        for (var i = 0; i < this.file.length; i++) {
            formData.append('file', this.file[i]);
        }

files是数组,要循环append

for(var i = 0;i < this.file.length;i++){
    formData.append('file[]', this.file[i]);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题