我使用的是5.11.10版本精美上传者 http://fineuploader.com/.
我知道有一个验证 http://docs.fineuploader.com/branch/master/api/options.html#validationFine Uploader 中的功能允许设置要上传的图像的最大/最小宽度/高度。但这对我来说还不够。因为我想设置精确的宽度和高度值对的预定义列表,这样如果图像的尺寸与这些预定义的宽度和高度对之一匹配,则图像将通过验证。
我结帐了onValidate
and onSubmit
回调。他们都没有提供有关尺寸的任何信息。onSubmit
接收可用于获取文件的图像的 idgetFile
方法。但getFile
也没有给出尺寸。
那么,有什么建议吗?
经过一段时间的搜索后回答我自己的问题。
我借用了这个逻辑源代码 https://github.com/FineUploader/fine-uploader/blob/5.11.10/client/js/image-support/validation.image.js#L34确定图像尺寸的 Fine Uploader。关键点是返回一个承诺onSubmit
处理程序。
Note: my_custom_validation
是一个自定义方法,超出了本答案的范围。您应该有自己的实现来满足您的需求。
onSubmit: function(id, name){
var promise = new qq.Promise();
var file = this.getFile(id);
var image = new Image();
var url = window.URL && window.URL.createObjectURL ? window.URL :
window.webkitURL && window.webkitURL.createObjectURL ? window.webkitURL :
null;
image.onload = function(){
if(my_custom_validation(this.width, this.height)){
promise.success();
} else {
promise.failure();
}
};
image.src = url.createObjectURL(file);
return promise;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)