所以我使用PLUpload,好了,上傳文件。但是,我遇到了一個問題。我試圖在隊列完成時觸發一個事件。我很接近,但並不完全。請看這裏:PLUpload獲取文件剩餘?
$(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!');
}
});
});
注意最後兩個.bind()
使用。基本上,我試圖更新變量找出多少個文件已被上傳,然後找出(基於這樣),當隊列已經完成。然而,正如你可能知道,FilesAdded是不是在每個文件的基礎上運行,但是當文件的任何量添加到隊列,而不是運行。如果添加三個文件,則僅添加一次FilesAdded。這意味着這種嘗試只適用於一次上傳一個文件的情況。
所以,我的問題是:什麼是讓留在隊列中的文件數量的最佳方式,或最終(甚至更好)調用的事件,每次隊列完成?我知道很多人都有這樣的問題,但我還沒有找到一個單一的解決方案,我已經能夠得到的工作!
謝謝!