是否可以成功上传通过FormData作为文件对象数组传递的文件?
类似这样的东西:
var files_array = [];
$.each($("input[type='file']")[0].files, function(i, file) {
files_array.push(file);
});
现在,如果我将其推送到FormData:
formData.set('files', files_array);
Laravel后端无法正确接收。
答案 0 :(得分:0)
方法是直接将文件附加到FormData(令人惊讶的是,传递数组无效):
let i = 0;
fileList.forEach(function(file) {
formData.append('image' + i, file);
i++;
});
然后在Laravel控制器中像这样访问它们:
for($i = 0; $i < sizeof($_FILES); $i++) {
if($request->hasFile('image' . $i)) $request->file('image' . $i)->store('photos/');
}