【问题标题】:Upload file from array从数组上传文件
【发布时间】:2019-08-11 17:44:53
【问题描述】:

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

类似这样的:

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

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

formData.set('files', files_array);

Laravel 后端没有正确接收。

【问题讨论】:

    标签: javascript jquery laravel input file-upload


    【解决方案1】:

    这样做的方法是将文件直接附加到 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/');
    }
    

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 2017-04-18
      • 1970-01-01
      • 2017-01-19
      • 2012-05-31
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多