我試圖限制可以通過plupload上傳的文件擴展名。從plupload隊列中刪除文件?
因爲過濾器無法正常使用HTML5運行時我無法使用它們。因此,我已在下面的代碼綁定到FilesAdded
事件
var extensionArray = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'];
uploader.bind('FilesAdded', function (up, files) {
var invalid = 0;
for (var i in files) {
var extension = files[i].name
.substr((files[i].name.lastIndexOf('.') + 1))
.toLowerCase();
if (extension == '' || -1 === $.inArray(extension, extensionArray)) {
uploader.splice(i, 1); //also tried uploader.removeFile(files[i])
invalid++;
continue;
}
//dom manipulation to add file occurs here
}
});
不過,雖然這是停止DOM操作存在的任何無效的文件,它似乎並沒有被真正從隊列中移除的項目,當我開始上傳他們全部發送!
這在HTML5和Flash Runtime上都發生了。我還沒有測試過其他人。
綁定到FilesRemoved
事件,它永遠不會被觸發!但是在uploader.splice(...
之前插入console.log('Invalid files detected');
它被輸出到控制檯,以便線路被調用。
請提供一些解釋給你的答案。 –
添加說明或至少對信息進行更有價值的評論。 – Leo