2013-05-22 1 views
5

Я использую plupload 1.5.7, JQuery Queue Widget, после загрузки завершения Добавить файлы и Старт Загрузить кнопки исчезают, заменяются меткой Upload 1/1 файлы.Plupload как продолжать загружать после UploadComplete

Теперь я не могу добавить другие файлы, мне нужно обновить страницу и загрузить другие файлы. Я пробовал также uploader.splice() и uploader.refresh() методы без успеха.

Возможно ли после загрузки - одного или нескольких файлов - продолжить загрузку?

Моя текущая конфигурация:

$("#uploader").pluploadQueue({ 
    // General settings 
    runtimes: 'html5,gears,flash,silverlight,browserplus', 
    url: '/upload.php', 
    max_file_size: '10mb', 
    chunk_size: '1mb', 
    unique_names: true, 

    // Specify what files to browse for 
    filters: [ 
     {title : "Image files", extensions : "jpg,png"} 
    ], 

    // Flash settings 
    flash_swf_url: '/assets/js/plupload/plupload.flash.swf', 

    // Silverlight settings 
    silverlight_xap_url: '/assets/js/plupload/plupload.silverlight.xap', 

    init: { 

     FilesAdded: function(up, files) {}, 
     UploadComplete: function(up, files) { 
      up.splice(); 
      up.refresh(); 
     } 
    } 
}); 

ответ

6

Я использую, чтобы продолжить примерно так (извините, не могу проверить это прямо сейчас), вложение мой код инициализации в функции, которую я могу назвать всякий раз, когда я хочу.

va initUploader = function() { 
    $("#uploader").pluploadQueue({ 
     // General settings 
     runtimes: 'html5,gears,flash,silverlight,browserplus', 
     url: '/upload.php', 
     max_file_size: '10mb', 
     chunk_size: '1mb', 
     unique_names: true, 

     // Specify what files to browse for 
     filters: [{ 
      title: "Image files", 
      extensions: "jpg,png" 
     }], 

     // Flash settings 
     flash_swf_url: '/assets/js/plupload/plupload.flash.swf', 

     // Silverlight settings 
     silverlight_xap_url: '/assets/js/plupload/plupload.silverlight.xap', 

     init: { 

      FilesAdded: function (up, files) {}, 
      UploadComplete: function (up, files) { 
       // destroy the uploader and init a new one 
       up.destroy(); 
       initUploader(); 
      } 
     } 
    }); 
}; 

$(document).ready(function(){initUploader();}); 
+0

Спасибо @jbl, он работает. –

3

Кнопки, которые вы ищете, по-прежнему доступны, но не отображаются. Таким образом, вместо переинициализации Uploader, вы можете просто изменить параметр отображения CSS с помощью JS, так:

uploader.bind('UploadComplete', function() { 
    $(".plupload_buttons").css("display", "inline"); 
    $(".plupload_upload_status").css("display", "inline"); 
}) 

Или, если вы подключаете ваши события в функции инициализации:

UploadComplete: function() { 
    $(".plupload_buttons").css("display", "inline"); 
    $(".plupload_upload_status").css("display", "inline"); 
} 

Заметим, что im, используя jQuery в этом примере, но он также будет работать с простым JS.