从阵列上传文件

时间:2019-03-20 21:59:00

标签: javascript jquery laravel input file-upload

是否可以成功上传通过FormData作为文件对象数组传递的文件?

类似这样的东西:

var files_array = [];
$.each($("input[type='file']")[0].files, function(i, file) {
  files_array.push(file);
});

现在,如果我将其推送到FormData:

formData.set('files', files_array);

Laravel后端无法正确接收。

1 个答案:

答案 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/');
}