0

希望你们能帮助我。我正在使用带有插件的 Uppy来上传文件,但是当我即将使用请求更新文件时,我在服务器端(Laravel)XHRUpload得到了一个空数组。我已经尝试过方法欺骗,但仍然没有运气。这是我的代码...$requestPUT

顺便说一句,我正在uppy.setMeta向请求中添加一些额外的数据。

    uppyUploader.setMeta({ 
      ...($(this).data('action') != 'store') && { _method: 'PUT' }, // Method spoofing of Laravel but the original method is 'POST'
      filename: $('input[name="filename"]').val(),
      ...
    });
    uppyUploader.upload();

但我在更新控制器方法的 $request 中得到了这个

$request->all(); // [] <-- empty array
4

2 回答 2

1
  • 要验证文件是否在请求中可用,您可以使用$request->hasFile('filename')

  • 要从请求中获取特定文件,您可以使用$request->file('filename')$request->filename

  • 要从请求中获取所有文件,您可以使用$request->allFiles()


有关更多详细信息,请查看Laravel 文档https ://laravel.com/docs/master/requests#files

于 2020-07-28T05:19:45.063 回答
1

事实证明,这只是服务器端的缓存问题。只是要记住的注意事项,如果您使用 XHR,您可以轻松地将方法设置为PUT,但是当您使用传统表单时,您必须确保使用欺骗方法@method('PUT')并将表单方法设置POST为 HTML5 表单不' t 支持 PUT 方法。谢谢你的协助。快乐编码。

于 2020-07-28T12:00:05.463 回答