【问题标题】:Finish of Multiple file upload多文件上传完成
【发布时间】:2013-09-26 10:29:44
【问题描述】:

我有一个关于使用 Blueimp jQuery-File-Upload 插件的问题 (https://github.com/blueimp/jQuery-File-Upload)

有回调函数或替代方法,知道何时完成多个文件的上传? 我不想知道每个文件的上传何时完成,而是整个过程何时完成(所有上传已完成)。

还有机会知道实际加载了多少文件以及请求了多少?

【问题讨论】:

标签: jquery file-upload blueimp


【解决方案1】:

是的,您可以调用它 API 来跟踪多个上传过程的结束:

var $fileInput = $('#fileupload');

$fileInput.on('fileuploaddone', function(e, data) {
    var activeUploads = $fileInput.fileupload('active');
    /*
     * activeUploads starts from the max number of files you are uploading to 1 when the last file has been uploaded.
     * All you have to do is doing a test on it value.
     */
    if(activeUploads == 1) {
        console.info("All uploads done");
        // Your stuff here
    }
}

【讨论】:

    【解决方案2】:

    请查看"stop" callback 选项:

    .bind('fileuploadstop', function (e) {/* ... */})

    如果您想跟踪上传的文件,请尝试使用:

    $('#fileupload').bind('fileuploaddone', function (e, data) { }
    

    Your collections data.files only contain 1 object each, hence you can track the count of files been uploaded.

    【讨论】:

      【解决方案3】:

      就在这些人身上,您可以使用以下方法获取活跃上传的数量:

      var activeUploads = $('#fileuploadForm').fileupload('active');
      

      见: https://github.com/blueimp/jQuery-File-Upload/wiki/API#retrieving-the-number-of-active-uploads

      我打算在总是回调函数上使用一个计数器来与这个变量进行比较。 但是 stop 看起来效果很好。

      只是想澄清一下。如果我有多个单一文件上传请求是 stop() 最好的方法?

      【讨论】:

      • - 对我来说,当所有 xhr 被中止或完成时,将调用 is stop。并且 fileupload('active') 总是返回 0。不过,这不是一个好的选择。
      【解决方案4】:

      在我的情况下,我遵循了两个答案并没有工作。

      所以禁用 iPV6 让一切正常。似乎 iPV6 对所有已完成的上传都抛出了误报。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-25
        • 2020-07-15
        • 1970-01-01
        • 2020-07-14
        • 2015-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多