Laravel 文件验证不允许任何内容通过
Laravel file validation is not allowing anything through
这里令人沮丧:我正在验证我的 Laravel 应用程序中的文件上传,这是我的行抛出错误(我从 Whosebug 复制粘贴了它并仔细检查它是正确的在 Laravel 文档上):
'video_file' => 'mimetypes:video/avi,video/mpeg,video/quicktime'
现在,您可能在想,"Ok, so are you uploading one of those types? Are you SURE?"。
是的。
我关闭了验证 运行,上传了相同的视频文件,然后 运行 使用此代码检查 MIME 类型:
$files = $request->file('video_file');
foreach($files as $file) {
file_get_contents($file);
return $file->getMimeType();
}
想知道它返回了什么吗?
video/quicktime
那么,我应该如何验证是否有人在上传视频文件?老实说,在这一点上,我真的不需要验证每个视频类型,我只需要确保它是一个视频。不管是 .mov、.mp4、.avi 还是其他格式。
请记住,这是文件上传的 'multiple' 输入,所以虽然这可能与它有关,但我不这么认为,因为我把它取下来了,但它仍然没有通过。
有什么想法吗?
验证数组时最好使用 this。
例如:
'video_files' => 'array',
'video_files.*' => 'mimetypes:video/avi,video/mpeg,video/quicktime',
如您所见,我还建议在处理数组时使用复数键,但这是个人喜好。
这里令人沮丧:我正在验证我的 Laravel 应用程序中的文件上传,这是我的行抛出错误(我从 Whosebug 复制粘贴了它并仔细检查它是正确的在 Laravel 文档上):
'video_file' => 'mimetypes:video/avi,video/mpeg,video/quicktime'
现在,您可能在想,"Ok, so are you uploading one of those types? Are you SURE?"。
是的。
我关闭了验证 运行,上传了相同的视频文件,然后 运行 使用此代码检查 MIME 类型:
$files = $request->file('video_file');
foreach($files as $file) {
file_get_contents($file);
return $file->getMimeType();
}
想知道它返回了什么吗?
video/quicktime
那么,我应该如何验证是否有人在上传视频文件?老实说,在这一点上,我真的不需要验证每个视频类型,我只需要确保它是一个视频。不管是 .mov、.mp4、.avi 还是其他格式。
请记住,这是文件上传的 'multiple' 输入,所以虽然这可能与它有关,但我不这么认为,因为我把它取下来了,但它仍然没有通过。
有什么想法吗?
验证数组时最好使用 this。
例如:
'video_files' => 'array',
'video_files.*' => 'mimetypes:video/avi,video/mpeg,video/quicktime',
如您所见,我还建议在处理数组时使用复数键,但这是个人喜好。