在我的Laravel 5.6应用程序中,我有一个带有store
方法的控制器:
use InterventionImageFacadesImage as ImageHandler;
public function store(StoreFoo $request)
{
if ($request->hasFile('image')) {
$toResize = ImageHandler::make($request->validated()->file('image')->getRealPath());
}
}
我的StoreFoo
类验证image
字段是否为图像:
public function rules()
{
return [
'image' => 'image'
];
}
我希望当我尝试上传一个不是图像的文件时,验证器会捕获它并返回错误。而是运行store
方法中的代码,这会从干预中生成"不支持的图像类型"异常。
为什么验证器没有事先发现这一点,我怎样才能让它以这种方式工作?
在你的请求文件中试试这个:
'image' => 'nullable|file|mimes:jpeg,png,jpg',
当然,请随意添加您将接受的任何其他哑剧。