@Baxterok

При использовании jQuery File Upload Plugin дублируются файлы. Как решить?

Здравствуйте.
Для загрузки файлов средствами js решил использовать jQuery File Upload Plugin. Но, при про каждой следующей загрузки файла, все предыдущие загрузки дублируются. Если обновить страницу, то при первой загрузке загрузит 1 файл и при каждой следующей n+1. Если мы загружаем 6-ой файл, то все прошлые 5 дублируются и загрузиться вместе с 6-ым файлом. (Да, я не использую мультизагрузку)

Может кто-то знает как решить эту проблему?
Попытался использовать это решение:
$('#fileupload').bind('fileuploadadd', function(e,data) {
    var currentfiles = [];
    $(this).fileupload('option').filesContainer.children().each(function(){
        currentfiles.push($(this).data('data').files[0].name);
    });
    data.files = $.map(data.files, function(file,i){
        if ($.inArray(file.name,currentfiles) >= 0) { return null; }
        return file;
    });
});

Но браузер сразу после выбора файла выдал: "Cannot read property 'children' of undefined". Больше возможных решений не нашёл.
  • Вопрос задан
  • 3000 просмотров
Пригласить эксперта
Ответы на вопрос 1
finethanks
@finethanks
Senior Pomidor Full Stack WEB Developer (SPFSWD)
Вот пример рабочего объекта, которые нужно использовать в качестве параметров к плагину
var fileUpload = {
            multipart: true,
            paramName: 'files[]',
            dataType: "json",
            previewThumbnail: false,
            add: function(e, data) {
                    // Старт загрузки, тут можно начать показывать прогресс бар
                    data.submit();
            },
            progressall: function(e, data) {
                // прогресс в процентах
                var progress = parseInt(data.loaded / data.total * 100, 10);
            },
            done: function(e, data) {
                $.each(data.result.files, function(index, file) {
                   // Перебираем загруженные файлы
                  console.log(file);
                });
            },
            cancel: function() {
                // Сделать отмену загрузки
            }

// Инициализируем плагин
$("#selector").fileupload(fileUpload );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы