【问题标题】:Javascript File Size Validation Limited to 2 Decimal Places [duplicate]Javascript 文件大小验证限制为 2 个小数位 [重复]
【发布时间】:2023-04-09 12:31:01
【问题描述】:

我是一个 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>

【问题讨论】:

    标签: javascript


    【解决方案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 设置为相同的数字。
    猜你喜欢
    • 2013-12-01
    • 1970-01-01
    • 2017-07-27
    • 2020-05-23
    • 2011-04-12
    • 2016-03-20
    • 2021-10-29
    相关资源
    最近更新 更多