2013-09-26 5 views
6

У меня есть вопрос об использовании Blueimp JQuery-File-Upload плагин (https://github.com/blueimp/jQuery-File-Upload)Финиш нескольких файлов загрузить

Существует функция обратного вызова или альтернативный метод, чтобы знать, когда закончил загрузку нескольких файлов ? Я не хочу знать, когда будет завершена загрузка каждого файла, но когда будет завершен весь процесс (все закаченные сообщения).

Существует также возможность узнать, сколько файлов действительно загружено и сколько их было запрошено?

+0

Возможно дубликата [JQuery загрузки файла - как узнать, когда все файлы загружены] (HTTP: // StackOverflow .com/вопросы/13011716/JQuery-файлы для загрузки-хау в распознайте-когда-все-файлы, есть загруженный) – tirdadc

ответ

8

Пожалуйста, обратите внимание на опцию "stop" callback:

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

И если вы хотите, чтобы отслеживать загруженные файлы пытаются использовать это:

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

Your collectionsданных. файлыonly contain 1 object each, hence you can track the count of files been uploaded.

0

Только на этом ребята, вы можете получить количество активных загрузок с помощью ниже:

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

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

Я собирался использовать счетчик на всегда обратного вызова функции к сравните с этой переменной. Но стоп выглядит так, как будто он отлично работает.

Просто хочу уточнить. Если у меня есть несколько запросов на загрузку отдельных файлов, остановите() лучший подход?

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 
    } 
}