получение всех загруженных файлов из загрузчика файлов blueimp - PullRequest
0 голосов
/ 10 ноября 2011

Я использую загрузчик файлов blueimp для загрузки файлов в мое веб-пространство.Как я могу получить все файлы в списке с их статусом?

У меня есть отдельная кнопка, которая находится за пределами #fileupload divs, и я хочу получить массив или что-то подобное со всеми файлами, которые были загружены.

Должен ли я перебирать HTML-код и анализировать имя файла и статус?Я не могу в это поверить, но я также не могу найти функцию, которая возвращает мне эту информацию.

Ответы [ 5 ]

2 голосов
/ 06 ноября 2013

Предоставляется обратный вызов для успешной загрузки:

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 голосов
/ 29 сентября 2014

Мне удалось получить массив файлов, которые уже были загружены, взяв ответ 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 );
});
}

Это дает мне массив успешно загруженных файлов. Опять же, если есть лучший способ сделать это, я хотел бы знать.

0 голосов
/ 14 августа 2012

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

Вы можете установить функцию downloadTemplate и делать здесь все, что вам нужно с загруженными файлами. o.files содержит ответ от сервера.

0 голосов
/ 28 сентября 2013

в файле: script.js

добавить код:

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

под строкой:

add: function (e, data) {

и на своей странице добавьте:

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

где файлы будут содержать все имена файлов. на мой взгляд, это не самое лучшее решение.

0 голосов
/ 11 ноября 2011

Как я уже упоминал в своем вопросе, я решил эту проблему с помощью перебора всех элементов в списке, поиска кнопки удаления и извлечения имени файла из 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);
});

Кто-то ещеесть лучшее решение?

...