【发布时间】:2021-10-06 02:04:07
【问题描述】:
我有带规则的 FormRequest
'photo' => 'required|image',
如果我上传 jpeg 图片,此规则失败,因为在方法 validateImage 中的 src/Illuminate/Validation/Concerns/ValidatesAttributes.php 中设置了检查扩展
return $this->validateMimes($attribute, $value, ['jpeg', 'png', 'gif', 'bmp', 'svg', 'webp']);
但对于 validateMimes laravel 中的 image/jpeg 将扩展设置为 'jpg'
这是因为在 /symfony/http-foundation/File/File.php 方法中,guessExtension 通过 mimes 返回第一个扩展名,并且 mimes for 图片/jpeg 是
'image/jpeg' => ['jpg', 'jpeg', 'jpe'],
在 /symfony/mime/MimeTypes.php 中
如何解决这个错误?
【问题讨论】:
-
你的版本是什么?
-
没错。迷惑项目以为是最新版本,在这个项目中 5.8 就需要更新了。
标签: laravel image validation