首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何限制dropzone.js文件的上传数量?

如何限制dropzone.js文件的上传数量?
EN

Stack Overflow用户
提问于 2013-08-05 07:53:35
回答 10查看 121.2K关注 0票数 80

根据用例的不同,如何限制dropzone.js允许的文件数量?

例如,我可能只需要允许上传1、2或4个文件。

不是uploadMultiple。不幸的是,uploadMultiple仅适用于每个请求处理的文件数。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2013-08-10 17:09:34

截至2013年8月6日的Nowell pointed it out that this has been addressed。使用此表单的工作示例可能是:

代码语言:javascript
复制
<form class="dropzone" id="my-awesome-dropzone"></form>

您可以使用此JavaScript:

代码语言:javascript
复制
Dropzone.options.myAwesomeDropzone = {
  maxFiles: 1,
  accept: function(file, done) {
    console.log("uploaded");
    done();
  },
  init: function() {
    this.on("maxfilesexceeded", function(file){
        alert("No more files please!");
    });
  }
};

dropzone元素甚至获得了一种特殊的样式,因此您可以执行以下操作:

代码语言:javascript
复制
<style>
  .dz-max-files-reached {background-color: red};
</style>
票数 77
EN

Stack Overflow用户

发布于 2013-09-28 02:25:53

我以一种稍微不同的方式实现了这一点。每当添加新文件时,我只是删除已删除的旧文件。它的作用是覆盖文件,这是我在这里想要的用户体验。

代码语言:javascript
复制
Dropzone.options.myAwesomeDropzone = {
  accept: function(file, done) {
    console.log("uploaded");
    done();
  },
  init: function() {
    this.on("addedfile", function() {
      if (this.files[1]!=null){
        this.removeFile(this.files[0]);
      }
    });
  }
};
票数 165
EN

Stack Overflow用户

发布于 2018-01-25 00:25:22

对我来说效果非常好的替代解决方案:

代码语言:javascript
复制
init: function() {
    this.on("addedfile", function(event) {
        while (this.files.length > this.options.maxFiles) {
            this.removeFile(this.files[0]);
        }
    });
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18048825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档