0

我使用blueimp 文件上传器将文件上传到我的网站空间。如何获取列表中的所有文件及其状态?

我有一个单独的按钮,它位于#fileupload div 之外,并且想要获取一个包含所有已上传文件的数组或类似的东西。

我是否需要遍历 html 代码并解析文件名和状态?我不敢相信,但我也找不到返回此信息的函数。

4

5 回答 5

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 保存上传文件的名称

于 2013-11-06T14:06:13.850 回答
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);
});

其他人有更好的解决方案吗?

于 2011-11-11T10:37:26.560 回答
0

(...) downloadTemplateId: null, downloadTemplate: function (o) { } (...)

您可以设置downloadTemplate功能并在此处对下载的文件执行您需要的所有操作。o.files 包含来自服务器的响应。

于 2012-08-14T08:46:49.593 回答
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 将包含所有文件的名称。在我看来,这也不是最好的解决方案。

于 2013-09-28T11:33:51.053 回答
0

通过采用 FabriGad Ahmed 的答案并对其进行调整,我能够获得一系列已上传的文件。

在我看来,我添加了以下脚本:

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

在 jquery.fileupload-ui.js 中,我在done函数中添加了以下内容:

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

这给了我一系列成功上传的文件。同样,如果有更好的方法可以做到这一点,我很想知道。

于 2014-09-29T13:40:27.837 回答