Проверка размера файла при загрузке с использованием jQuery - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь проверить размер файла в элементе управления загрузкой файлов в моем приложении ASP.NET еще до того, как нажата кнопка отправки.

Мой макс.размер 20 КБ.Когда я нажимаю на кнопку - даже когда файл меньше максимального размера - он все равно показывает мне сообщение

Размер файла должен быть меньше 20 КБ

НижеВы найдете соответствующий код:

 <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 голосов
/ 03 июня 2018

Изменить

            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;
                }
0 голосов
/ 03 июня 2018

Эта строка кода возвращает размер файла в байтах

fileUpload[0].files[0].size 

, и вы сравниваете его с 20, полагая, что он меньше 20 КБ.Так что вам нужно настроить код что-то вроде

(fileUpload[0].files[0].size / 1024) < maxFileSize 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...