请问怎么用js获取在上传前图片的宽、高呢?就是需要在选择完图片之后

IDTC 2014-04-24 12:44:14
请问怎么用js获取<input type="file">在上传前图片的宽、高呢?就是需要在选择完图片之后,试了网上的好多例子都不行,获取到的都是0,比较急,谢谢
...全文
10655 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
master_y 2015-01-27
  • 打赏
  • 举报
回复
不知道你改他干什么,显示的时候再自己设置呀
liu_chen_yue 2015-01-27
  • 打赏
  • 举报
回复
楼主解决没有?我也遇到了这个问题 ,正在伤脑筋呢
muler1988 2014-04-24
  • 打赏
  • 举报
回复
进不去想办法解决啊,自己百度下吧~~ 参考 http://xst4002.iteye.com/blog/1570992
IDTC 2014-04-24
  • 打赏
  • 举报
回复
我用定时器每隔一段时间去获取也获取不到
IDTC 2014-04-24
  • 打赏
  • 举报
回复
在chrome下img.onreadystatechange=function()函数就进不去
muler1988 2014-04-24
  • 打赏
  • 举报
回复
你每次获取都是0,主要原因是在获取图片的宽和高的时候,图片还没有装载成功! 你可以不用这个事件,在获取宽和高之前,alert一下,后边就能获取到图片的宽和高了~
muler1988 2014-04-24
  • 打赏
  • 举报
回复
貌似不是这个问题,我刚才测了下,去掉之后也会有问题!!你在本地试试
IDTC 2014-04-24
  • 打赏
  • 举报
回复
chrome中是不是没有这个onreadystatechange
muler1988 2014-04-24
  • 打赏
  • 举报
回复
引用 2 楼 itccccc 的回复:
但是Chrome好像不行
应该是js兼容性问题,换成JQuery的方式试试
IDTC 2014-04-24
  • 打赏
  • 举报
回复
但是Chrome好像不行
muler1988 2014-04-24
  • 打赏
  • 举报
回复
亲测,可用~

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript"> 
function imgSel(){
	var img = new Image();//构造JS的Image对象
	img.src = document.imageForm.file.value;//将本地图片赋给image对象
	img.onreadystatechange=function(){
       if (img.readyState=="complete"){
	       alert(["图片大小是:",img.width,img.height]);
		   document.imageForm.width.value = img.width;
			document.imageForm.height.value = img.height;
			document.imageForm.size.value = img.fileSize;
			document.images['image'].src = img.src;
       }
    }
}
</script>
</head>
<body>
<form name="imageForm">
宽: <input name="width" type="text" size="6"> 
高: <input name="height" type="text" size="6"> 
大小: <input name="size" type="text" size="6"><br>
<input name="file" type="file" onChange="imgSel()"><br>
<img src="" name="image">
</form>
</body>
</html>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧