Javascript 文件大小验证限制为 2 个小数位 [重复]

Posted

技术标签:

【中文标题】Javascript 文件大小验证限制为 2 个小数位 [重复]【英文标题】:Javascript File Size Validation Limited to 2 Decimal Places [duplicate] 【发布时间】:2013-05-05 14:30:24 【问题描述】:

我是一个 javascript 编写新手...

Ben 在JavaScript file upload size validation 上发布了这个,我用它来检测预上传文件的大小。有没有办法将一些(数学)函数直接插入到代码中,从而在出现警报时将文件大小限制为两位小数?

<script type="text/javascript">
    $('#image-file').bind('change', function() 
        alert('This file size is: ' + this.files[0].size/1024/1024 + "MB");
    );
</script>

【问题讨论】:

【参考方案1】:
alert('This file size is: ' + (this.files[0].size/1024/1024).toFixed(2) + "MB")

这几乎不是特定于文件大小验证的,它只是一般的数字格式。

【讨论】:

完美,巴尔玛!正是我想要的。非常感谢! Barmar 的评论帮助我意识到每个文件都会触发警报(即,无论大小)。理想情况下,我想限制警报,以便仅在文件大小超过我的 php $max_file_size (或其他 js 变量?)时触发它。像这样的东西也许会起作用? (感谢您对我作为 js 编码员明显无能的耐心。) 如果JS在PHP创建的html文件中,可以写if (size &gt; &lt;?php echo $max_file_size ?&gt;)。如果您无法使其正常工作,请提出一个新问题。 在触发 js 之后提交表单时,在 PHP 函数中调用 $max_file_size,所以我认为这样的事情可能有效(对于 2M 限制),但它没有吨。变量大小 = 2097152; $('#userfile').bind('change', function() if(size > 2097152); alert('文件大小为~' + (this.files[0].size/1024/1024). toFixed(2) + "MB 超出文件上传限制。"); );我什至在球场上吗?再次感谢您的耐心和帮助。 “提出新问题”的哪一部分不清楚? if (size &gt; 2097152) 不检查文件大小,因为您只是将变量 size 设置为相同的数字。

以上是关于Javascript 文件大小验证限制为 2 个小数位 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何验证多个文件的最大文件大小为每个文件 2 mb? (验证)

上传图片限制大小类型判断像素判断

Laravel - 超过 PHP 最大上传大小限制时验证文件大小

关于FileUpload控件上传文件大小限制问题

tp剩余未验证内容-2

面试常用算法