php - 拉拉维尔 5.4 : How do I validate an image size?

标签 php laravel validation laravel-5.4

我有一个用户可以提交图像的表单。我不想将其存储在我的服务器上,以防它是病毒,而是将其存储到 Amazon S3。

我的问题是我需要验证图像是否小于特定尺寸。 我怎样才能在 Laravel 5.4 中做到这一点?

我的 Controller

 $validator = \Validator::make($request->all(),[
    "logo"      => "dimensions:max_width:300,max_height:200",
 ]);

 if($validator->fails()){
    return \Redirect::back()->withInput()->withErrors( $validator );
 }

验证失败并重定向回来,并显示“ Logo 的图像尺寸无效。”尽管我上传的图像是 100x100。 验证的正确方法是什么,或者无需保存文件的替代解决方案是什么?

最佳答案

max_widthmax_height 中使用等号 (=) 而不是冒号 (:):

"logo"  => "dimensions:max_width=300,max_height=200",

Image dimension validation rules in Laravel

<小时/>

如果无法解决,请确保您的表单具有 enctype="multipart/form-data" (如 @F.Igor 的评论中所述):

<form method="POST" enctype="multipart/form-data">
    <input type="file" name="logo">
    <input type="submit">
</form>

如果您已经使用此功能,请检查(在验证之前)是否通过您的请求获取图像以及名称:

dd($request->all())

关于php - 拉拉维尔 5.4 : How do I validate an image size?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51334333/

相关文章:

laravel - 如何处理 laravel 5 中的私有(private)图像?

javascript - 在 Javascript 中验证 Java 包名称的正则表达式

asp.net-mvc - asp.net mvc - 整数字段的 optional/默认值

php - 在网页头部添加链接和元标记的顺序会产生负面影响吗?

php - 从 JOIN 查询检索行时缺少列数据

javascript - jQuery "load more posts"如果上次发布则隐藏按钮

mysql - 如何查询 laravel 中的 json 列?

php - SQL 命令在页面执行时失败

php - Laravel 嵌套数组的类型转换

php - Symfony2 - MinLength 验证不起作用 - 未找到 MinLength