2014-01-17 4 views
0

Надеюсь, что кто-то сможет сказать мне, где я здесь не так.Dropzonejs mulitple зоны с предварительным просмотром файла

Im, использующий Dropzonejs, чтобы люди могли отбрасывать файлы для хранения в Интернете, у меня есть 8 зон на одной странице, каждая из которых используется для другой категории, когда кто-то бросает файл, который они сохраняют, с дополнительными данными в зависимости от того, в какой зоне они были сброшены in для последующего поиска .. это все работает нормально.

Затем я хотел, чтобы каждая зона отображала миниатюры для каждого из файлов на сервере под его категорией на странице обновления, вот где я получаю проблемы, используя код следующего кода, я получаю все мои файлы, отображаемые в нижней зоне , а остальные пустые. Очевидно, что проблема с кодом, который извлекает текущие файлы и создает миниатюры, но Im потерял, почему.

Если у меня есть только один экземпляр на странице, все работает отлично.

Heres код, который я использую для установки и создания экземпляра каждого экземпляра dropzone.

Dropzone.options.dzdiag = { 
    url: "upload.php", 
    previewsContainer: "#dzdiag", 
    init: function() { 
     thisDropzone = this; 
     filetype = "diagnostic"; 
     var propid = <?php echo $id; ?>; // set value to current property id 
     $.get('upload.php?propid='+propid+'&filetype='+filetype, function(data) { // get exisitng files and thumbnail 
      $.each(data, function(key,value){ 
       var mockFile = { name: value.name, size: value.size, fileid: value.fileid, }; 
       thisDropzone.options.addedfile.call(thisDropzone, mockFile); 
       var pattern = /\.(gif|jpg|jpeg|tiff|png)$/i; 
       if(pattern.test(value.name)){ 
        thisDropzone.options.thumbnail.call(thisDropzone, mockFile, "uploads/"+value.name); 
       } 
      }); 
     });    

     thisDropzone.on("sending", function(file, xhr, formData) { 
      formData.append("propid", propid); 
      formData.append("filetype", filetype); 
     }); 

     thisDropzone.on("success", function(file, serverack) { 
      file.fileid = serverack; 
     }); 

     thisDropzone.on("removedfile", function(file) { 
      var delid = file.fileid; 
      $.post('upload.php?delid='+delid); 
     }); 

    } 
}; 
$("#dzdiag").dropzone(); 
+0

нашел ответ .. но не могу его опубликовать из-за 8-часового правила, введенного на этом форуме для новых пользователей! – user3206704

ответ

0

Простое изменение предварительного просмотра. Контейнер (не указывая его) для каждой зоны должен получить то, что вы хотите.

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