在Laravel5中,我使用以下代码验证图片:
public function rules() {
return [
'name' => 'required',
'pic' => 'required|mimes:jpeg,png',
];
}
适用于扩展名为filename.jpg
和filename.jpeg
的文件,但不适用于filename.JPG
。
但是,它不会返回错误的文件扩展名,而是丢失文件。有人可以帮忙吗?
答案 0 :(得分:3)
在pic
规则中尝试此操作:
'pic' => 'required|mimes:jpeg,jpg,png',
遇到此问题并发现当您使用mimes:
规则时,您必须将所需的扩展名指定为有效i。即您必须同时添加jpeg
和jpg
扩展名变体。
将mimetypes:
规则与image/jpeg
一起使用,其中包含jpeg格式的3种扩展名变体:jpg jpeg jpe
。
使用涵盖image
的{{1}}规则,其中包括jpeg, png, bmp, gif, or svg
的扩展名变体
有关jpeg
和mimes
规则的更多信息:https://laravel.com/docs/5.5/validation#rule-mimetypes
所有MIME类型:
可在以下位置找到MIME类型及其相应扩展程序的完整列表:https://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
答案 1 :(得分:2)
尝试'pic' => 'required|image'
并确保您的表单具有enctype="multipart/form-data"
属性。