Dropzone检查图像尺寸和文件大小

时间:2016-08-03 08:04:31

标签: jquery dropzone.js

我正在使用Dropzonejs插件。我想检查文件上传时的图像尺寸(宽度和高度)以及文件大小。我设法检查了尺寸和文件大小,但是当我将它们组合在一起时,它并没有很好地工作。

var maxImageWidth = 2500, 
    maxImageHeight = 2500;

Dropzone.options.formUserEdit = {
    maxFilesize: 2,
    acceptedFiles: 'image/*',
    success : function(file, Response){
      var obj = JSON.parse(Response);
      $('#form-user-edit').append('<input type="hidden" name="userprofile" data-ori="'+file.name+'" value="'+obj.filename+'" />');

      $('.error-msg').remove();
    },
    init: function() {
        this.on("thumbnail", function(file) {
            if (file.width > maxImageWidth || file.height > maxImageHeight) {
                file.rejectDimensions();
            else {
                file.acceptDimensions();
            }
        })
    },
    accept: function(file, done) {
        file.rejectDimensions = function() { 
            done("Please make sure the image width and height are not larger than 2500px."); 
        };
        file.acceptDimensions = done;
    }
}

如果:

  • 上传大尺寸图片:它接受功能

  • 上传小尺寸图片但超过2MB:它会返回file.acceptDimensions is not a function或不会成功

1 个答案:

答案 0 :(得分:2)

如果有人仍然需要答案。

<form role="form" class="form-horizontal" action="{{ route('compose') }}" method="POST">
    {{ csrf_field() }}
    <label class="col-lg-2 control-label">To</label>
    <input type="text" placeholder="" id="inputEmail1" class="form-control" name="receiver" value="{{old('receiver')}}">

    <label class="col-lg-2 control-label">From</label>
    <input type="text" placeholder="" id="cc" class="form-control" name="sender" value="{{ Auth::user()->email }}" disabled="">
    <input type="text" placeholder="" id="inputPassword1" class="form-control" name="subject" value="{{old('subject')}}">
    <button class="btn btn-success" type="submit">Send</button>
</form>