我注意到在收到" mock"的dropzone实例上调用.removeAllFiles()时。使用所示技术here的文件实际上没有所需的效果(模拟文件仍然存在)。
答案 0 :(得分:16)
我也有同样的问题。
我认为这是因为从服务器添加的文件没有进入文件数组,当你调用removeAllFiles()
时,它将无法工作,因为它不在文件数组中。
因此,显而易见的解决方案是将它们添加到文件数组中,它看起来像这样
$(function() {
var mockFile = { name: "banner2.jpg", size: 12345 };
var myDropzone = new Dropzone("#my-awesome-dropzone");
myDropzone.options.addedfile.call(myDropzone, mockFile);
myDropzone.files.push(mockFile); // here you add them into the files array
myDropzone.options.thumbnail.call(myDropzone, mockFile,
"http://localhost/test/drop/uploads/banner2.jpg");
});
现在您可以在某些事件中使用myDropzone.removeAllFiles();
,从服务器添加的文件也将从dropzone中删除。
注意:请记住使用上述代码时。如果你从服务器端删除文件时从服务器端删除文件,那么从dropzone删除文件后,服务器上的所有文件都将被删除。