2013-07-01 120 views
3

我使用dropzone.js一個漂亮的上傳表單。 我鏈接php代碼上傳文件,我設置addRemoveLinks = true,所以我有刪除按鈕。Dropzone.js刪除按鈕與php

我需要一個想法,當我點擊刪除按鈕時,如何有效地刪除使用php代碼上傳的filse。

php很簡單,但我不需要知道如何關聯它們。 我已經試過在這個函數中使用$ .post removedfile:function(file)但沒有成功。

removedfile: function(file) { 
    $.post("test.php"); 
    var _ref; 
    return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0; 

}, 

回答

18

首先,你不應該簡單地覆蓋默認removedfile事件處理程序,但隨之而註冊自己的處理程序。

您需要先從服務器取回ID(因此您知道如何與之關聯),然後使用它設置刪除呼叫。

Dropzone.options.myDropzone = { 
    init: function() { 
    this.on("success", function(file, response) { 
     file.serverId = response; // If you just return the ID when storing the file 
     // You can also return a JSON object then the line would 
     // look something like this: 
     // 
     // file.serverId = response.id; 
     // 
     // In that case make sure that you respond with the mime type 
     // application/json 
    }); 
    this.on("removedfile", function(file) { 
     if (!file.serverId) { return; } // The file hasn't been uploaded 
     $.post("delete-file.php?id=" + file.serverId); // Send the file id along 
    }); 
    } 
+0

是不是「文件」只讀?我試過這個,但在removefile回調中,文件處理程序仍然是沒有其他數據的原始程序? – Dirkos

+0

我想使用上述技術先顯示,然後刪除已經上傳到服務器上的文件,但成功事件不會觸發。請幫忙 –