如何使用jQuery或Javascript在表单提交之前获取上传图片的高度和宽度 ?
<input type="file" />
我需要检查要上传的图像的宽度和高度是否等于所选的宽度和高度。我找到了this link。但它只适用于FF和Chrome,而不适用于IE7和IE8。
任何人都可以告诉我任何其他方式来获取尺寸,以便它可以在所有浏览器中使用吗?
答案 0 :(得分:3)
你可以创建一个图像对象,创建图像对象后,从显示要上传的图像的图像标签中获取图像,然后按照下面的方法获取图像的尺寸。
var v=new Image();
v.src=document.getElementById("up_img").getAttribute('src');
alert(v.width);
请记住,您必须使用Base64方法才能将图像显示在图片标记中,我不知道它是否受支持,但它是Chrome,Firefox,Opera中的HTML5工具
答案 1 :(得分:0)
出于安全原因,IE9,IE8,IE7不支持访问客户端计算机上的文件;这就是为什么你没有得到任何宽度或高度。您需要将图像上传到服务器上,然后将其显示到某个图像控件并获取高度和宽度。如果您不希望图像可见,可以设置visibility:hidden
。
BIRD的观点
一种方法是,在上传时,在使用Ajax将文件保存到服务器上的临时文件夹时显示进度条,图像名称作为临时ID,并将ID存储在数据库中(以便您可以稍后删除它,然后将其显示在图像控件中。然后得到高度和宽度。