完成多个文件上传

时间:2013-09-26 10:29:44

标签: jquery file-upload blueimp

我对使用Blueimp jQuery-File-Upload插件(https://github.com/blueimp/jQuery-File-Upload

有疑问

有一个回调函数或替代方法,知道什么时候完成多个文件的上传? 我不想知道什么时候完成每个文件的上传,但是什么时候完成整个过程(All Uploads Complited)。

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

4 个答案:

答案 0 :(得分:8)

请查看"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.

答案 1 :(得分:3)

是的,您可以将其称为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 :(得分:0)

就这些家伙而言,您可以使用以下内容获取有效上传的数量:

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

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

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

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

答案 3 :(得分:0)

在我的情况下,我遵循了两个答案,但是没有用。

因此,禁用iPV6可使一切正常。看来iPV6对所有已完成的上传都产生了误报。