PLUpload Get Files Resting?

Alors, j'utilise PLUpload pour bien télécharger des fichiers. Cependant, j'ai rencontré un problème. J'essaie de déclencher un événement lorsque la file est terminée. Je suis proche, mais pas tout à fait là. Vois ici:

$(function() { var files_remaining = 0; // Setup flash version $("#flash_uploader").pluploadQueue({ // General settings runtimes : 'flash', url : 'blah.php', max_file_size : '200mb', chunk_size : '1mb', // Flash settings flash_swf_url : 'plupload.flash.swf' }); var uploader = $("#flash_uploader").pluploadQueue(); uploader.bind('FilesAdded', function(up, file, res) { files_remaining++; }); uploader.bind('FileUploaded', function(up, file, res) { files_remaining--; if (files_remaining == 0) { alert('Complete!'); } }); }); 

Notez les deux derniers utilisations .bind() . Essentiellement, j'essaie de mettre à jour une variable pour déterminer le nombre de fichiers téléchargés, puis de décrire (en fonction de cela) lorsque la file d'attente est terminée. Toutefois, comme vous le savez probablement, FilesAdded n'est pas exécuté par fichier, mais est plutôt exécuté lorsque des fichiers sont ajoutés à la file d'attente. Si trois fichiers sont ajoutés, FilesAdded n'est appelé qu'une seule fois. Cela signifie que cette tentative ne fonctionne que si un fichier est téléchargé à la fois.

Donc, ma question est la suivante: quelle est la meilleure façon d'obtenir le nombre de fichiers restant dans la file d'attente, ou finalement (encore mieux) appeler un événement chaque fois que la file se termine? Je sais que beaucoup de gens ont ce problème, mais je n'ai pas trouvé une seule solution que j'ai pu travailler!

Merci!

 $(function() { var files_remaining = 0; // Setup flash version $("#flash_uploader").pluploadQueue({ // General settings runtimes : 'flash', url : 'blah.php', max_file_size : '200mb', chunk_size : '1mb', // Flash settings flash_swf_url : 'plupload.flash.swf' }); var uploader = $("#flash_uploader").pluploadQueue(); uploader.bind('QueueChanged', function(up, files) { files_remaining = uploader.files.length; }); uploader.bind('FileUploaded', function(up, file, res) { files_remaining--; if (files_remaining == 0) { alert('Complete!'); } }); }); 

Dans FileUploaded event check up.total.queued

 uploader.bind('FileUploaded', function(up, file, res) { if (up.total.queued == 0) { alert('Complete!'); } });