【问题标题】:dropzone.js .removeAllFiles() does not remove mock filesdropzone.js .removeAllFiles() 不删除模拟文件
【发布时间】:2014-04-29 15:42:45
【问题描述】:

我注意到,当使用here 所示的技术在接收“模拟”文件的 dropzone 实例上调用 .removeAllFiles() 时,实际上并没有达到预期的效果(模拟文件仍然存在)。

【问题讨论】:

    标签: dropzone.js


    【解决方案1】:

    我也遇到了同样的问题。 我认为这是因为从服务器添加的文件没有进入 files 数组,当你调用 removeAllFiles() 它不会工作,因为它根本不在 files 数组中。
    所以显而易见的解决方案是将它们添加到 files 数组中,它看起来像这样

    $(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 中删除文件时触发服务器端代码以从服务器中删除文件,那么来自服务器的所有文件都将被删除。

    【讨论】:

    • 如果可以的话,我会投票给你两次,谢谢!我一直在用头撞墙。
    • 对于模拟文件。包括“accepted: true”,或者如果您设置了 maxFiles 数,计数器将不会与以编程方式添加的文件数同步。也就是说,如果你添加了 3 个文件并且 maxFiles 设置为 3,那么手动添加的前 3 个文件将不会被计算在内。
    猜你喜欢
    • 2015-05-03
    • 2021-06-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2015-07-25
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多