如何使用jQuery验证上传中的文件大小?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (34)

我试图在ASP.NET应用程序的文件上传控件中验证文件的大小,甚至在点击提交按钮之前。

大小是20kB。 当我点击按钮 - 即使文件小于最大尺寸 - 它仍然显示我的消息

文件大小应小于20kb

在下面你找到相应的代码:

 <script type="text/javascript">
        $(document).ready(function () {
        $('#AdmissionUpload').on('change', function() {
            // Maximum file size allowed
            var maxFileSize = 20 // 20kb
            // Load the file upload controller to a variable
            var fileUpload = $('#AdmissionUpload');
            //Check if the file upload controller has value
            if (fileUpload.val() == '') {
                return false;
            } else {
                //Check if the file size is less than maximum file size
                if (fileUpload[0].files[0].size < maxFileSize) {
                    return true;
                } else {
                    alert('File size should be less than 20kb')
                    fileUpload.val('');
                    return false;
                }
            }
        });
        })

    </script>
提问于
用户回答回答于

变化

            if (fileUpload[0].files[0].size < maxFileSize) {
                return true;
            } else {
                alert('File size should be less than 20kb')
                fileUpload.val('');
                return false;
            }

       var size = parseFloat(fileUpload[0].files[0].size / 1024).toFixed(2);
                //Check if the file size is less than maximum file size
                if (size < maxFileSize) {
                    return true;
                } else {
                    alert('File size should be less than 20kb')
                    fileUpload.val('');
                    return false;
                }
用户回答回答于

这一行代码将返回文件大小。

fileUpload[0].files[0].size 

你把它和20比较,假设它小于20 KB。所以你需要调整代码

(fileUpload[0].files[0].size / 1024) < maxFileSize 

扫码关注云+社区

领取腾讯云代金券