2011-11-10 118 views
0

我使用blueimp file uploader將文件上傳到我的網站空間。 如何獲取列表中的所有文件及其狀態?從blueimp文件上傳器獲取所有上傳的文件

我有一個單獨的按鈕,它位於#fileupload divs之外,想要獲得一個數組或類似於上傳的所有文件的東西。

我是否需要遍歷html代碼並解析文件名和狀態?我不能相信,但我也找不到一個函數,它返回我這個信息。

回答

0

正如我在我的問題中提到的,我通過迭代列表中的所有元素來解決它,查找刪除按鈕並從刪除按鈕的URL中提取文件名。

var files = new Array(); 
$("#fileupload td.delete button[data-type='DELETE']").each(function() { 
    //get the basename of the url: http://abc/def/file.txt --> file.txt 
    var name = $(this).attr("data-url").replace(/\\/g,'/').replace(/.*\//, ''); 
    files.push(name); 
}); 

其他人是否有更好的解決方案?

+0

沒有解決我的問題 –

0

(...) downloadTemplateId:空, downloadTemplate:函數(O){} (...)

您可以設置downloadTemplate功能,在這裏做,你需要下載的文件的一切。 o.files包含來自服務器的響應。

0

文件:的script.js

添加代碼:

getFiles__Name(data.files[0].name); 

下行:

add: function (e, data) { 

,並在您的網頁添加:

var files=new Array(); 
function getFiles__Name(name){ 
    files.push(name); 
} 

其中的文件會包含所有文件的名稱。 在我看來,這不是最好的解決方案。

2

用於上傳成功的回調提供:

var arrNames = new Array(); 

//File uploader 
$('#fileupload').fileupload().bind('fileuploaddone', 
    function (e, data) { 
     //Add names 
     arrNames[arrNames.length + 1] = data.result.files[0].name; 
    } 
); 

arrNames保存上傳文件的名稱

0

我是能夠得到文件的數組已經上傳採取FabriGad艾哈邁德的答案並調整它。

在我看來,我添加了下面的腳本:

var img_files=[]; 
function getFiles__Name(name){ 
img_files.push(name); 
} 

在jquery.fileupload-ui.js添加以下到功能:

//get the names of the already uploaded files 
if (files){ 
$.each(files, function(index) { 
getFiles__Name(files[index].name); 
}); 
} 

這給了我一個成功上傳文件的數組。再次,如果有更好的方法來做到這一點,我很想知道。

相關問題