我使用blueimp file uploader将文件上传到我的网站空间。 如何获取列表中的所有文件及其状态?
我有一个单独的按钮,它位于#fileupload div之外,并希望获得一个数组或类似的内容,包含已上传的所有文件。
我是否要遍历html代码并解析文件名和状态?我无法相信,但我也找不到能够将这些信息返回给我的函数。
答案 0 :(得分: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保存上传文件的名称
答案 1 :(得分: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);
});
其他人是否有更好的解决方案?
答案 2 :(得分:0)
(...) downloadTemplateId:null, downloadTemplate:function(o){ } (...)
您可以设置downloadTemplate
功能,并在此处执行下载文件所需的一切。 o.files包含来自服务器的响应。
答案 3 :(得分:0)
:script.js
添加代码:
getFiles__Name(data.files[0].name);
下线:
add: function (e, data) {
并在您的页面中添加:
var files=new Array();
function getFiles__Name(name){
files.push(name);
}
其中files将包含所有文件的名称。 在我看来,这也不是最好的解决方案。
答案 4 :(得分:0)
我能够通过获取FabriGad Ahmed的答案并调整它来获取已经上传的一系列文件。
在我看来,我添加了以下脚本:
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 );
});
}
这给了我一系列成功上传的文件。再说一次,如果有更好的方法,我很想知道。