2016-10-28 1 views
0

Ich habe Dropzone-Datei und Schaltfläche zu speichern, auf Dropzone, wenn ich uploadfile in dropzone wird automatisch in meinen Ordner verschieben, und wenn ich Knopf speichern, diesen Dateinamen wird es auf mysql speichern Daten. Jetzt ist das Problem, ich möchte, dass meine Datei zurückgesetzt Dropzone, wenn ich Seite oder geschlossene Seite aktualisieren, bevor ich Pres speichern Schaltfläche? Ist das unpassierbar? Hier mein Code !!Reset dropzone, wenn Windows aktualisiert oder geschlossen

HTML

<div class="dropzone form-control input-sm" action="<?php echo SERVER_NAME; ?>upload/file" id="dropZone"> 
          <div class="fallback" > 
           <input type="file" name="file" id="file"/> 
          </div> 
         </div> 

Auf JQuery

Dropzone.options.dropZone = { 
      //options here 
      maxFilesize: 1, 
      addRemoveLinks: true, 
      removedfile: function(file) { 
       var name = file.name;   
       $.ajax({ 
        type: 'POST', 
        url: host+'upload/unfile', 
        data: "id="+name, 
        dataType: 'html' 
       }); 
       var _ref; 
       return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0; 

       //console.log(); 
      } 

     } 

auf contorler

public function file(){ 
      if (!empty($_FILES)) { 
       $tempFile = $_FILES['file']['tmp_name']; 
       $fileName = $_FILES['file']['name']; 
       $fileType = $_FILES['file']['type']; 
       $fileSize = $_FILES['file']['size']; 
       $targetPath = './public/uploads/'; 
       $targetFile = $targetPath . $fileName ; 

       //var_dump($_FILES); 
       move_uploaded_file($tempFile, $targetFile); 
      } 
     } 

     public function unfile() { 
      $fileName = $_POST["id"]; 
      //var_dump($fileName); 
      $targetPath = './public/uploads/'; 
      $targetFile = $targetPath . $fileName ; 
      unlink($targetFile); 

     } 

HINWEIS: Ich muss, wenn Refresh/geschlossen Seite die hochgeladene Datei, aber nicht speichern wird mysql entfernen werden auf meinem Ordner.

Antwort

0

Nevermind ich fand es, ich verwende diesen Code, und prefectly meine Datei entfernen :)

$(window).on('beforeunload', function(){ 
       return 'Are you sure you want to leave? Warning!!! Data is still progress will not be saved'; 
     }); 

     $(window).on('unload', function(){ 
       var file = $('.dropzone .dz-preview').children().find('.dz-filename').find('span').html();      
       $.ajax({ 
        type: 'POST', 
        url: host+'upload/unfile', 
        data: "id="+file, 
        dataType: 'html', 
        async : false 
       }); 
       //alert('Your Out!!'); 
     }); 

Nicht, wenn jemand Probleme haben wie ich mit Sprungplatz bin u async : false, die so wichtig verwenden müssen !!!

Verwandte Themen