Laravel文件验证不允许任何通过

时间:2019-07-03 19:06:13

标签: php laravel laravel-validation

在这里令人沮丧:我正在验证我的Laravel应用程序中的文件上传,这是抛出错误的行(我从StackOverflow上将其复制粘贴并仔细检查了它在Laravel文档中的位置):

'video_file' => 'mimetypes:video/avi,video/mpeg,video/quicktime'

现在,您可能会想,“好吧,您要上传其中一种类型吗?确定吗?”。

是的。

我开始进行验证,上传了相同的视频文件,然后运行以下代码来检查MIME类型:

$files = $request->file('video_file');
foreach($files as $file) {
   file_get_contents($file);
   return $file->getMimeType();
}

想知道它返回了什么吗?

video/quicktime

那么,我应该如何验证有人正在上传视频文件?老实说,在这一点上,我真的不需要验证每种视频类型,我只需要确保它是一个VIDEO。不管是.mov,.mp4,.avi还是什么。

请记住,这是文件上传的“多个”输入,因此虽然可能与它有关,但我认为不是,因为我将其取消,但仍然没有通过。 / p>

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

验证数组时,最好使用this

例如:

'video_files' => 'array',
'video_files.*' => 'mimetypes:video/avi,video/mpeg,video/quicktime',

如您所见,我还建议在处理数组时使用复数键,但这是个人喜好。