Dropzone未验证最大文件数

时间:2016-08-25 11:51:06

标签: javascript jquery html dropzone.js

我使用dropzone上传文件,我已将文件限制设置为最多六个文件,如果我一次上传一个图像,此代码正常工作,但如果我在开始时按控制按钮选择了六个以上的图像上传文件然后它不验证文件并上传所有文件。我正在使用laravel作为后端,我的代码是: -

Dropzone.options.myAwesomeDropzone = {
    paramName: "file", // The name that will be used to transfer the file
    maxFilesize: 1, // MB
    maxFiles: 6,
    acceptedFiles: ".jpeg,.jpg,.png,.gif",
    clickable: true,
    init: function () {
        this.on("success", function(file, responseText) {
            file.previewTemplate.setAttribute('id',responseText[0].id);
        });
        this.on("thumbnail", function(file) {
            if (file.width < 350 || file.height < 200) {
                file.rejectDimensions()
            }
            else {
                file.acceptDimensions();
            }
        });
    },
    accept: function(file, done) {
        file.acceptDimensions = done;
        file.rejectDimensions = function() { done("Image width or height should be greater than 350*200"); };
    },
    removedfile: function(file){
        var name = file.name; 
        $.ajax({
                type: 'POST',
                url: ajax_url+'listing/deleteListingImage/'+name,
                dataType: 'html'
            });
            var _ref;
            return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0;
            },   
            dictDefaultMessage: "Drop your files to upload"
    }

由于

1 个答案:

答案 0 :(得分:0)

您可以在调用removeFile(file)时使用maxfilesexceeded方法删除额外文件。

像这样:

&#13;
&#13;
Dropzone.options.myAwesomeDropzone = {
  maxFiles: 2,
  autoProcessQueue: false,
  init: function(){
    var myDropZone = this;
    myDropZone.on('maxfilesexceeded', function(file) {
      myDropZone.removeFile(file);
    });
  }
}
&#13;
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.3.0/dropzone.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.3.0/min/dropzone.min.js"></script>
<form action="/file-upload"
      class="dropzone"
      id="my-awesome-dropzone">

</form>
&#13;
&#13;
&#13;

http://output.jsbin.com/dodajij