jQuery文件上传取消所有上传

3

我正在使用jQuery文件上传插件(http://blueimp.github.io/jQuery-File-Upload/)为我的网站上传图片。

我的代码:

$('#fileupload').fileupload({
    url: 'server/index.php',
    dataType: 'json',
    dropZone: $('#dropzone')
}).on('fileuploadadd', function (e, data) {
    jqXHR = data;
});

$('button.cancel').click(function () {
jqXHR.abort();
});

当用户选择多个文件上传时,取消按钮只会取消一个文件的上传而不是所有文件。
我该如何设置取消按钮,使其在点击后可以取消所有文件的上传(正在进行中)?
谢谢。
2个回答

2

这里提取

(说明:此段文字为原文,无需翻译)
$('#fileupload').fileupload({
    add: function(e, data) {
         $('.progress_bar_wrapper').append($('.progress_context:first').clone());
        data.context = $('.progress_context:last');
        data.content.find('.abort').click(abortUpload );
        var xhr = data.submit();
        data.context.data('data',{jqXHR: xhr}); // so much data...
    }
)};

function abortUpload (e) {
     e.preventDefault();
     var template = $(e.currentTarget).closest('.template-upload'),
     data = template.data('data') || {}; // data, data , data (queue Monty Python skit)
      if (!data.jqXHR) {
        data.errorThrown = 'abort';
        this._trigger('fail', e, data);
      } else {
        data.jqXHR.abort();
      }
}

1
谢谢你的回答。在add函数中有没有不使用var xhr = data.submit();的方法?因为这样会绕过照片调整大小的功能。我希望在上传之前对照片进行调整大小。 - user1995781

0
怎么样考虑使用栈来跟踪上传?
}).on('fileuploadadd', function (e, data) {
    jqXHR.push(data);
});

$('button.cancel').click(function () {
    for (i=0; i < jqXHR.length; i++) { jqXHR[i].abort(); }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接