Отменить загрузку файла inprogress с помощью плагина ajaxForm - PullRequest
1 голос
/ 14 марта 2020

Я использую плагин http://hayageek.com/ajax-file-upload-jquery/ (http://malsup.com/jquery/form/#ajaxForm) для загрузки файлов через ajax, который работает нормально. Теперь я хочу установить ограничение на размер файла перед его загрузкой. Я попробовал ниже выделенный код, но это совсем не отменяет загрузку файлов.

$('#fileUpload').ajaxForm({
    beforeSend: function () {
        // File size restriction code
        var fileSize = $('.custom-file-input')[0].files[0].size; // in bytes
        fileSize = (fileSize / 1024) / 1024; // MB
        if (fileSize > 2) {
            $('.progress').hide();
            $('input#file').val('');
            $('.custom-file-label').html('<span class="bar-container">Choose file<span class="bar bar-@Model"></span></span>');
            parent.setError('Please Upload a file upto 250 mb.');                
            return false;
        }
        // File size restriction code
    },
    uploadProgress: function (event, position, total, percentComplete) {
        // some code
    },
    complete: function (xhr) {
        var result = JSON.parse(xhr.responseText);
        // some code
    },
    url: '/Records/UploadSharedDocuement'
});

Может кто-нибудь, пожалуйста, помогите

1 Ответ

3 голосов
/ 14 марта 2020

Прервать Ajax в случае сбоя, подобного этому.

$.ajax({
    url : 'myfile',
    dataType: 'script',
    beforeSend : function(xhr, opts){
        var fileSize = $('.custom-file-input')[0].files[0].size;
        if(fileSize>1024)
        {
            xhr.abort();
        }
    },
    complete: function(){
        console.log('Uploaded');
    }
});
...