因此,我正在尝试验证上传的图像仅属于这种类型(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
答案 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
用于限制每个上传文件的大小。希望对您有帮助!