jQuery 文件上传 blueimpl 浏览器冻结

jQuery File Upload blueimpl browser freeze

我正在使用 Jquery 文件上传 bluempl 上传文件。 当我使用此插件上传大量文件(如 6000 个文件)时,浏览器挂起并冻结多次,尽管在访问 server/files 中的文件夹时,我可以看到文件已上传。 你能告诉我可以使用什么样的优化或参数来上传许多文件而浏览器不会冻结吗? 我使用示例文件 basic.hml 中的示例文件:

$(function () {
    'use strict';
    // Change this to the location of your server-side upload handler:
    var url = window.location.hostname === 'blueimp.github.io' ?
                '//jquery-file-upload.appspot.com/' : 'server/php/';
    $('#fileupload').fileupload({
        url: url,
        dataType: 'json',
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo('#files');
            });
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                'width',
                progress + '%'
            );
        }
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});

提前致谢。

看来blueimp默认是同步上传。

浏览器冻结通常与同步而不是异步 javascript 请求有关。

Blueimp 描述如何异步上传: https://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronously

更新

  1. 好的,上面页面描述的add方法只是在添加文件到队列时调用

  2. options documentation包含参数sequentialUploadslimitConcurrentUploads,请尝试使用它们或其中之一。