使用jQuery在上传中验证文件大小

时间:2018-06-02 22:16:37

标签: jquery html jquery-file-upload

我尝试在单击提交按钮之前在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>

2 个答案:

答案 0 :(得分:0)

这行代码将以字节为单位返回文件大小

fileUpload[0].files[0].size 

并且您将它与20进行比较,假设它小于20KB。所以你需要调整像

这样的代码
(fileUpload[0].files[0].size / 1024) < maxFileSize 

答案 1 :(得分:0)

更改

            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;
                }