Laravel 4 - 验证器 - 文件大小

Posted

技术标签:

【中文标题】Laravel 4 - 验证器 - 文件大小【英文标题】:Laravel 4 - Validator - File Size 【发布时间】:2015-06-28 07:41:41 【问题描述】:

只是一个关于 Laravel 验证器的查询。我网站的用户上传文件的时间可能会在 100MB 左右。

我看过:http://laravel.com/docs/4.2/validation

我的控制器代码如下:

$rules = array(
 'file' => 'max:102400'
);

102400 是否相当于 100MB,我觉得文档对此不够清楚?

【问题讨论】:

【参考方案1】:

我认为最好的方法是查看Github 的来源。

具体来说:

return $value->getSize() / 1024;

According to Wikipedia,千字节“指的是 1000 字节或 1024 字节,具体取决于用法和上下文”,因此文档似乎有点模棱两可。

【讨论】:

+1 只是为了解决文档中实际上不清楚的问题。即使我完全不同意成为“最佳解决方案”。 @Loko 这不是最好的解决方案,如“始终在文档之前阅读代码”,但如果文档对主题不清楚,它肯定有助于深入挖掘代码库。跨度> 是的,我就是这个意思。如果文档不清楚,这是一个很好的解决方案。【参考方案2】:

如文档中所述:

最大值:值

正在验证的字段必须小于或等于最大值 价值。 字符串、数字和文件的计算方式相同 作为尺寸规则

所以我们转到大小规则:

大小:值

验证中的字段必须具有与给定值匹配的大小。 对于字符串数据,值对应于字符数。为了 数字数据,值对应于给定的整数值。 对于文件, size 对应于以千字节为单位的文件大小

所以 102400 是千字节。

是的,即 100 MB。

【讨论】:

以上是关于Laravel 4 - 验证器 - 文件大小的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 中使用最大文件大小的验证错误

Laravel 分别验证每个文件

Laravel 验证文件数组总允许上传大小

Laravel5 中的图像大小验证

Laravel 验证检查数组大小的最小值和最大值

Laravel 8.38 验证问题,最大文件大小。 RuntimeException:无法打开文件 public path。在第 46 行的文件 Psr17Factory.php 中