在表单提交之前获取上载图像的图像高度和宽度

时间:2012-06-30 07:10:20

标签: javascript image dimension

如何使用jQuery或Javascript在表单提交之前获取上传图片的高度和宽度

<input type="file" />

我需要检查要上传的图像的宽度和高度是否等于所选的宽度和高度。我找到了this link。但它只适用于FF和Chrome,而不适用于IE7和IE8。

任何人都可以告诉我任何其他方式来获取尺寸,以便它可以在所有浏览器中使用吗?

2 个答案:

答案 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存储在数据库中(以便您可以稍后删除它,然后将其显示在图像控件中。然后得到高度和宽度。