2016-05-17 78 views
0

好的,我的朋友們正在製作我自己的CMS。對於媒體上傳,我正在使用Dropzone。事實是,我不擅長JS,我需要一點幫助。我已經實現了Dropzone,它工作得很好,但上傳的文件不會立即顯示。我需要重新加載頁面才能顯示它們。 //懸浮窗 $(文件)。就緒(函數(){Dropzone重裝

Dropzone.options.myZone = { 

    paramName: "file", 
    acceptedFiles: "image/jpeg, image/png, image/gif, .mp3, .pdf, .zip", 
    autoProcessQueue: true, 
    addRemoveLinks: true, 

    removedfile: function (file) { 
     var name = file.name; 
     $.ajax({ 
      type: 'POST', 
      url: 'media/remove', 
      data: {"name": name}, 
      dataType: 'html' 
     }); 

     $(document).find(file.previewElement).fadeOut(400, function() { 
      this.remove(); 

      if ($('.dz-preview').length < 1) { 
       $('form').removeClass("dz-started"); 
      } 
     }) 
    } 
} 
}); 

我固定與location.reload()函數

$(function() { 
Dropzone.options.myZone = { 
    success: function(){ 
     location.reload(); 
    } 
}; 
}); 

所以我的問題是;這是最好的解決方案?它會看起來確定何時上線?提前致謝。

+0

你在設置其屬性如=== init:function(){your_code}之後初始化dropzone,然後你不必加載你的頁面 – Jenish

回答

0

默認情況下,dropzone將繪製縮略圖時,「addedfile」事件觸發我想知道你是在說的圖像是從服務器端渲染無論如何,你的代碼可以被細化爲:

var myDropzone = new Dropzone("#dropzone",{ 
    paramName: "file", 
    acceptedFiles: "image/jpeg, image/png, image/gif, .mp3, .pdf, .zip", 
    autoProcessQueue: true, 
    addRemoveLinks: true, 
    removedfile: function (file) { 
    var name = file.name; 
    var _this = this; 
    $.ajax({ 
     type: 'POST', 
     url: 'media/remove', 
     data: {"name": name}, 
     dataType: 'html', 
     success:function(){ 
      var _ref; 
      if (file.previewElement) { 
       if ((_ref = file.previewElement) != null) { 
       _ref.parentNode.removeChild(file.previewElement); 
       } 
      } 
      return _this._updateMaxFilesReachedClass(); 
     } 
    }); 
    } 
});