2016-08-03 114 views
3

我正在使用Dropzonejs插件。我想检查图像尺寸(宽度和高度)以及文件上传时的文件大小。我设法检查尺寸和文件大小,但是当我将它们组合在一起时,效果不佳。Dropzone检查图像尺寸和文件大小

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还是不会去成功

回答

0

如果有人仍然需要这个答案。

init: function() { 
    this.on("thumbnail", function(file) { 
     if (file.width > maxImageWidth || file.height > maxImageHeight) { 
      file.rejectDimensions(); 
     else { 
      if(file.size < 1024*1024*2/*2MB*/) 
      { 
       file.acceptDimensions(); 
      } 
     } 
    }) 
},