如何动态更改dropzone中的maxFiles?

时间:2018-03-07 04:27:17

标签: javascript jquery dropzone

我的项目中有一个select选项元素,有两个选项,书籍和图像。对于book选项,我想只允许上传单个文件。但对于图像选项,我需要允许多个文件选择。我正在尝试这种方式,但没有成功:

 Dropzone.options.frmMediaDropzone = {
   maxFilesize: 99,
   acceptedFiles: ".jpeg,.jpg,.png,.gif,.pdf",
   parallelUploads: 1,
   addRemoveLinks: true,
   maxFiles: 100,
   init: function() {
     myDropzone = this;
     this.on("removedfile", function(file) {
       console.log(file);
     });

     this.on("success", function(file, response) {
       console.log(response.imageName);
     });
   }
 };

关于选项更改,我正在尝试:

Dropzone.options.frmMediaDropzone.maxFiles = 1;

但它不起作用。如果有人有想法,请帮助。

2 个答案:

答案 0 :(得分:0)

尝试这种方式来解决您的问题,

你需要在javascript中定义一个变量。

var myDropZone;

myDropZone事件中初始化init() vairable。

init: function() {

    myDropzone = this;
}

myDropzone变得可访问所以语句

myDropzone.options.maxFiles = 1;
完成文件上传后

设置clickable:false

myDropzone.options.clickable = false;

超出最大文件限制后,手动删除文件。

myDropzone.on("maxfilesexceeded", function(file) {
    myDropzone.removeFile(file);
});

答案 1 :(得分:0)

有两种方法可以做到这一点。您可以动态创建dropzone,然后使用.attr更改它的属性,或者在定义dropzone时在init属性中创建一个侦听器事件。

请参阅此链接以获取类似示例(请参阅第二个答案): Dropzone: change acceptedFiles dynamically