如何通过此代码重置dropzone?

时间:2014-02-11 12:59:21

标签: reset dropzone.js custom-code

Dropzone.options.imageFile = {
    url: HOST_NAME + USER_NAME + BUILDER_API +'image/',
    method: 'POST',
    // enter code here
    acceptedFiles: '.jpg, .jpeg, .png',
    paramName: "imagefile", // The name that will be used to transfer the file
    maxFilesize: 10, // MB
    //addRemoveLinks: true,
    maxFiles: 2,
    init: function() {
        this.on("success", function(file, response) {
            image_id = response.id;
            IMAGES.push(image_id);
            check_files();
        }),
        this.on("removedfile", function(file, response){
            data = JSON.parse(file.xhr.response);
            alert(data['id']);
        });
    },
};

完全重置dropzone需要做些什么?

3 个答案:

答案 0 :(得分:12)

不是100%肯定我理解了这个问题,但我认为你希望能够从原始状态重用dropzone实例。

从技术上讲,您想要拨打removeAllFiles()并删除所有文件。

以下是一个示例,向您展示如何使用一个按钮添加删除所有文件:Remove all files with one button

此外,还有其他人试图做你想要的同样的事情:Reset dropzone to Pristine state

答案 1 :(得分:4)

这就是这个问题的答案,许多人喜欢在stackoverflow ...在非编程创建的dropzone(http://www.dropzonejs.com/#configuration)上删除AllFiles,你执行(使用OP' s ID):

-

问题在于,这并没有让好的"在这里上传图像"给我留言 - 只留下一个莫名其妙的白盒子 - 再一步修复它。

 var myDropzone = Dropzone.forElement("#imageFile");
 myDropzone.removeAllFiles();

这将显示原始消息。

答案 2 :(得分:0)

我创建一个按钮并放入此代码。单击该按钮时,它是隐藏的,并且您的拖放区就像页面刷新一样。

$("#btn").click(function () {
    $('#btn').hide();
    $('.dropzone')[0].dropzone.files.forEach(function(file) {
        file.previewTemplate.remove();
    });

    $('.dropzone').removeClass('dz-started');
});