检查图像大小Jquery
只是在胡思乱想去学。我正在尝试验证上传的图像。使用下面的代码检查图像类型可以正常工作。但是我正在检查它的尺寸。有人能解释一下为什么这不起作用吗 谢谢检查图像大小Jquery,jquery,Jquery,只是在胡思乱想去学。我正在尝试验证上传的图像。使用下面的代码检查图像类型可以正常工作。但是我正在检查它的尺寸。有人能解释一下为什么这不起作用吗 谢谢 $('#File').change(function (evt) { var f = evt.target.files[0]; var reader = new FileReader(); var H = f.height; var W = f.
$('#File').change(function (evt) {
var f = evt.target.files[0];
var reader = new FileReader();
var H = f.height;
var W = f.width;
if (W > 100) {
alert("The selected file is too large.");
return;
}
if (!f.type.match('image.*')) {
alert("The selected file does not appear to be an image.");
return;
}
setBox('#IsFile');
reader.onload = function (e) { preview.attr('src', e.target.result); };
reader.readAsDataURL(f);
});
解决方法是将图像加载到屏幕外的图像元素中,然后使用类似以下方法检测宽度/高度:
var img = document.getElementById('offscreenImageId');
//or however you get a handle to the IMG
var width = img.clientWidth;
var height = img.clientHeight;
它不起作用,因为API不支持它。换句话说,“高度”和“宽度”属性将始终是未定义的。(至少在我的浏览器中是这样。)谢谢你的回复。那么,不可能在jquery中检查图像大小吗?当然,你可以这样做,但你必须先读取文件内容,然后解码图像格式,以便用自己的代码提取这些信息。我想你可以将其加载到一个隐藏的元素中,然后执行以下操作:是的,这比我愚蠢的想法要容易得多:)