2016-05-17 10 views
0

Ok, meine Freunde Ich mache mein eigenes CMS. Für den Upload von Medien verwende ich Dropzone. Tatsache ist, dass ich bei JS nicht so gut bin, und ich brauche ein wenig Hilfe. Ich habe Dropzone implementiert, und es funktionierte gut, aber hochgeladene Dateien wurden nicht auf einmal angezeigt. Ich musste eine Seite neu laden, um sie anzuzeigen. // Dropzone $ (document) .ready (function() {Dropzone reload

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"); 
      } 
     }) 
    } 
} 
}); 

I festgelegt, dass mit location.reload() Funktion

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

Also meine Frage ist,. Ist dies die beste Lösung? Sieht es in Ordnung, wenn es live geht? Vielen Dank im Voraus.

+0

Sie haben dropzone nach dem Festlegen seiner Eigenschaft wie === init: function() {your_code} initialisiert, danach müssen Sie Ihre Seite nicht laden – Jenish

Antwort

0

Dropzone wird standardmäßig ein Miniaturbild zeichnen, wenn "addedfile" -Ereignis ausgelöst wird. Ich frage mich, ob das Bild, über das Sie sprachen, von der Server-Seite gerendert wird Wie auch immer, Ihr Code kann verfeinert werden als :

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(); 
     } 
    }); 
    } 
});