如何验证哑剧文件laravel

时间:2019-07-14 16:59:35

标签: php laravel laravel-5

因此,我正在尝试验证上传的图像仅属于这种类型(venv) Path:,但是问题是如果我输入如下代码:

mimes: jpeg, jpg, png

它可以像预期的那样'photos' => 'required|array|max:5|mimes:jpeg,jpg,png', 'photos.*' => 'mimes:jpeg,jpg,png', 进行验证,但是即使我上传了jpg或png文件,它仍然显示The image must be a file of type:jpg,jpeg,png only。如果我把这样的代码放进去:

The image must be a file of type:jpg,jpeg,png only

它没有验证,因此我什至可以上传视频,psd和其他非'photos' => 'required|array|max:5', 'photos.*' => 'mimetypes:image/jpeg,image/png,image/jpg', 类型的文件。如何验证上传的文件仅属于此类型mimes:jpeg,jpg,png

控制器

mimes:jpeg,jpg,png

2 个答案:

答案 0 :(得分:0)

这是您代码的更正

'photos' => 'required|array|max:5'
'photos.*' => 'mimes:jpeg,jpg,png',

并确保在这样的表单中输入enctype =“ multipart / form-data”

<form action url enctype="multipart/form-data">

这使浏览器实际上将文件发送到服务器(查看控制器),

然后,哑剧可以识别/捕获您从浏览器发送的文件扩展名

这可以从laravel文档Laravel validation rules

中更好地解释

答案 1 :(得分:0)

您可以检查以下代码:

'photos' => 'required|array|size:5',
'photos.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'

size用于限制上传的图像数,而max用于限制每个上传文件的大小。希望对您有帮助!