laravel验证不适用于.JPG

时间:2015-06-01 06:17:32

标签: laravel-5 mime-types

在Laravel5中,我使用以下代码验证图片:

public function rules() {
    return [
        'name' => 'required',
        'pic' => 'required|mimes:jpeg,png',
    ];
}

适用于扩展名为filename.jpgfilename.jpeg的文件,但不适用于filename.JPG

但是,它不会返回错误的文件扩展名,而是丢失文件。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

pic规则中尝试此操作:

'pic' => 'required|mimes:jpeg,jpg,png',

说明

遇到此问题并发现当您使用mimes:规则时,您必须将所需的扩展名指定为有效i。即您必须同时添加jpegjpg扩展名变体。

其他解决方案

  • mimetypes:规则与image/jpeg一起使用,其中包含jpeg格式的3种扩展名变体:jpg jpeg jpe

  • 使用涵盖image的{​​{1}}规则,其中包括jpeg, png, bmp, gif, or svg的扩展名变体

有关jpegmimes规则的更多信息: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"属性。