如何删除现有的文件dropzone?

D.C*_*sti 0 html javascript jquery dropzone.js

我有这个样本:

链接

代码HTML:

<div class="dropzone dz-clickable" id="myDrop">
     <div class="dz-default dz-message" data-dz-message="">
          <span>Upload or drag patient photo here</span>
     </div>
</div>
Run Code Online (Sandbox Code Playgroud)

代码JS:

 Dropzone.autoDiscover = false;
 var myDropzone = new Dropzone("div#myDrop", {
   addRemoveLinks: true,
   url: "#",
   maxFiles: 1,
   init: function() {

     this.on("maxfilesexceeded", function(file) {
       alert("You are not allowed to chose more than 1 file!");
       this.removeFile(file);

     });

     this.on("addedfile", function(file) {
       myDropzone.options.removefile.call(myDropzone, mockFile);
       //  I want to delete an existing element
     });

   }
 });

 var fileName = $('#profilePicture').val();
 var mockFile = {
   name: fileName,
   size: 12345
 };
 myDropzone.options.addedfile.call(myDropzone, mockFile);
 myDropzone.options.thumbnail.call(myDropzone, mockFile, "https://lh3.googleusercontent.com/-eubcS91wUNg/AAAAAAAAAAI/AAAAAAAAAL0/iE1Hduvbbqc/photo.jpg?sz=104");
Run Code Online (Sandbox Code Playgroud)

我想要做的是当用户上传文件,然后是要删除的现有文件.

你怎么能正确地做到这一点?

提前致谢!

小智 14

试试这个方法。

removedfile: function(file) {
            file.previewElement.remove();
}
Run Code Online (Sandbox Code Playgroud)


won*_*ng2 7

这是一种有效的方法:

var currentFile = null;
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone("div#myDrop", {
  addRemoveLinks: true,
  url: "#",
  maxFiles:1,
  init: function() {
    this.on("addedfile", function(file) {
      if (currentFile) {
        this.removeFile(currentFile);
      }
      currentFile = file;
    });
  }   
});
Run Code Online (Sandbox Code Playgroud)


Mah*_*our 6

“您的每个事件”例如:成功 - 错误 - 发送 - 删除文件或添加文件等。

http://www.dropzonejs.com/#event-list

init : function () {
    self.on('Every your events', function (file, response) {
        this.removeFile(file);
    }
}
Run Code Online (Sandbox Code Playgroud)

要从此函数中删除文件,可以执行以下操作:

Dropzone.forElement("div#myDrop").removeAllFiles(true);
Run Code Online (Sandbox Code Playgroud)


Seb*_*rio 6

尝试这个方法:

 success: function (file, response) {
                    if (this.files.length > 1)
                        this.removeFile(this.files[0]);
                    //Do others tasks...
                }
Run Code Online (Sandbox Code Playgroud)

通过这种方法,前一项将被删除。