3

我使用 dropzone.js 来制作一个不错的上传表单。我链接了 php 代码来上传文件,并设置了 addRemoveLinks=true 所以我有删除按钮。

我需要一个想法,当我点击删除按钮时,如何有效地删除使用 php 代码上传的文件。

php 做起来很简单,但我不需要知道如何关联它们。我已经尝试在此函数中使用 $.post 删除文件:函数(文件)但没有成功。

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

},
4

1 回答 1

19

首先,您不应该简单地覆盖默认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
    });
  }
于 2013-07-02T13:49:46.857 回答