2013-10-23 8 views
3

Я успешно интегрирую plupload на свой сайт. Я могу загружать файлы без проблем, но я не могу загрузить один и тот же файл несколько раз.Я могу загрузить один и тот же файл один раз

PS: проблема возникает только в Internet Explorer. У меня нет проблем с Google Chrome.

Например:

  1. я загрузить 'hello.jpg'
  2. Выгрузка начинается сразу
  3. Когда загрузка завершена, я отображать предупреждение (независимо).
  4. Затем я пытаюсь загрузить тот же файл, и он не работает. Ничего не произошло. Я установил точку останова в событии «FilesAdded», и он никогда не был достигнут.

НО, если я попытаюсь загрузить другой файл, он работает хорошо.

НО, если я нажму F5 (обновить), я могу загрузить предыдущий загруженный файл.

Есть идеи? Я действительно хотел бы иметь возможность загружать один и тот же файл несколько раз.

Например, если пользователь загрузить файл, то понять, что-то не так внутри файла и изменить что-то в этом файле и нужно загрузить его снова, то он не может загрузить его снова в моем случае ...

Вот часть моего кода:

Html часть:

<div id="container"> 
    <a id="pickfiles" href="#" class="btn ui-button-text-icon-secondary">Uploader</a> 
</div> 

Javascript часть:

var uploader = new plupload.Uploader({ 
    runtimes: 'gears,html5,flash,silverlight,browserplus', 
    unique_names: false, 
    browse_button: 'pickfiles', 
    container: 'container', 
    max_file_size: '5mb', 
    url: pFiles.addFileUrl, 
    multi_selection: false, 
    multipart: true, 
    multipart_params: { "type": "undefined" }, 
    filters : [{title : "Adobe PDF files", extensions : "pdf"}], 
    flash_swf_url: pFiles.uploadFlashUrl, 
    silverlight_xap_url: pFiles.uploadSilverlightUrl, 
    resize: { width: 320, height: 240, quality: 90 } 
}); 

uploader.bind('FilesAdded', function (up, files) { 
    uploader.state = 1; 
    up.refresh(); // Reposition Flash/Silverlight 
    uploader.settings.multipart_params["type"] = $('#type').val(); 
    uploader.start(); 
    up.refresh(); 
    $('#messages').show(); 
}); 

uploader.bind('UploadProgress', function (up, file) { 
    $('#messages').html('Progression: ' + file.percent + "%"); 
}); 

uploader.bind('FileUploaded', function (up, file, response) { 
    var msg = $.parseJSON(response.response).Message; 
    alert(msg); 
}); 

PS: моя текущая версия plupload является 1.5.4

ответ

1

Наконец, я просто должен был установить 2.0 версию plupload.

0

Попробуйте изменить следующую строку:

unique_names: false 

к

unique_names: true 

Из документации:

unique_names

Создавайте уникальные имена файлов при загрузке. Это приведет к генерации имен файлов без ограничений, чтобы они, например, не сталкивались с существующими на сервере.

+0

EDIT: Исправлено форматирование кода – wicker95

+0

Я уже пытался изменить 'unique_names', но он не работает. Проблема не связана с сервером.Как объяснялось в моем вопросе, я установил точку останова в файле javascript (в событии «FilesAdded»), и эта точка останова никогда не была достигнута. Я также отметил, что диалог открыт для выбора файлов, которые уже содержат имя файла, которое ранее использовалось, и когда предыдущий файл равен текущему, кажется, plupload игнорирует его !! Надеюсь, это ясно. – Bronzato

0

Вы должны позвонить destroy() способ после загрузки процесса. Затем запустите его снова

Смежные вопросы