2017-10-19 94 views
0

我在Laravel 5.5中创建了一个API,并且此API支持接收配置文件图片等的某些文件。Laravel MIME验证程序未按预期方式工作

我想通过一个形式要求来限制这种只接受JPGPNG图像和我设置了我的形式要求如下:

'picture' => 'nullable|image|mimetypes:image/jpeg,image/png,image/jpg|max:2000' // 2000KB or around 2MB per picture 

然后,在我的PHPUnit/Codeception测试我送使用Laravel自身fake静态方法的假图片如下

'picture' => UploadedFile::fake()->image("hello.svg") 

我fi DD正在发送的图像文件,当我运行测试它正确列出它的MIMEType作为image/svg+xml,但不知何故这通过验证,并出现另一端,应该不是这样,因为我的规则应该极限只有PNG或JPG文件。

有没有其他人有这个问题?

回答

0

你写了错误的语法来验证图片验证中的图片类型。

你只需要创建图片验证这样的:

'picture' => 'nullable|image|mimes:jpeg,png|max:2000'