【发布时间】:2019-01-10 10:49:59
【问题描述】:
这在 Laravel 5.3 下完美运行。
我刚刚升级到 5.4,无法再使用hasFile() 方法上传文件。检查被忽略
public function addPhotos(Request $request)
{
// dd($request) here shows a file in the files:FileBag
if ($request->hasFile('photo'))
{
// dd($request) here never prints,
this block is passed over as if the file doesn't exist
}
}
有什么想法吗?
更新
当我转储文件时,这是我得到的,所以你可以看到有些东西正在上传......
dd($request->file('photo'));
返回...
array:1 [▼
0 => UploadedFile {#504 ▼
-test: false
-originalName: "test.jpg"
-mimeType: "application/octet-stream"
-size: 0
-error: 1
#hashName: null
path: ""
filename: ""
basename: ""
pathname: ""
extension: ""
realPath: "/Users/tim/Sites/myapp/public"
aTime: 1969-12-31 19:00:00
mTime: 1969-12-31 19:00:00
cTime: 1969-12-31 19:00:00
inode: false
size: false
perms: 00
owner: false
group: false
type: false
writable: false
readable: false
executable: false
file: false
dir: false
link: false
}
]
【问题讨论】:
-
Request的命名空间是什么?
-
@alaric
use Illuminate\Http\Request; -
嗯,应该仍然存在,我相信你已经看到了。它已在 5.4 中移至 trait,但函数的签名和实现是相同的。我想如果该方法无论如何都不存在,您将收到一个致命错误。您是否尝试过临时编辑供应商源以确定特征方法中发生的情况?作为参考,你会寻找github.com/laravel/framework/blob/5.4/src/Illuminate/Http/…
标签: laravel file-upload