【发布时间】:2016-11-08 16:11:10
【问题描述】:
尝试在后端使用 Laravel 上传文件时遇到问题。
问题
Laravel $request->file() 方法返回 null。
设置
我使用superagent 构建了一个 AJAX 请求,调试了该请求,一切似乎都很好。 Content-Length 会根据我添加的图像而变化,表明图像已添加到请求中。 Content-Type 也设置为 multipart/form-data。
// request headers
Content-Length:978599
Content-Type:multipart/form-data;
// request payload
Content-Disposition: form-data; name="files"; filename="item-keymoment.png"
Content-Type: image/png
但我无法在 Laravel 中获取文件。使用$request->file('files') 返回NULL,但如果我调试$_FILES 数组,我注意到我的文件已上传。
dd($request->file('files'))
// NULL
dd($_FILES);
// array:1 [
// "files" => array:5 [
// "name" => "item-keymoment.png"
// "type" => "image/png"
// "tmp_name" => "/tmp/phpipbeeM"
// "error" => 0
// "size" => 978274
// ]
// ]
dd($request->files->all())
// []
什么可能导致 Laravel 忽略该文件?
输入文件的Content-Type 不是application/octet-stream?
以下已回答问题。
【问题讨论】:
标签: php laravel file-upload