`

JS Image对象图片类型合法性

阅读更多
有时候文件名后缀是可以伪装的,比如说将一个记事本文件xx.txt改成xx.jpg,这时候只利用后缀来判断选取的文件是否满足条件就不靠谱了,此时Image对象就派上用场了。
如果图片无法显示那当然是不正确的格式了,会引发onerror事件,代码如下:

var img = new Image();
img.onload = function(){
	alert('load');
};
img.onabort = function(){
	alert('abort');
};
img.onerror = function(){
	alert('error');
};
img.src='http://www.google.com/logo_cn.gif';
var _img_ = document.getElementById('imgplace');

另外onabort事件目前仅有IE支持,FF,Opera,Chrome,Safari统统不支持。
FAQ:如何激活Image对象的abort事件?
A:弄一张超级大的图片(比如说4M),等浏览器载入到一半的时候按停止载入。
-EOF-


另外一段网上的代码
<HTML> 
<HEAD> 
</HEAD> 
<script language="javascript"> 
var img=null; 
function check(file) 
{ 
img=document.createElement("img"); 
img.attachEvent("onreadystatechange",isimg); 
img.attachEvent("onerror",notimg); 
img.src=file; 
} 
function notimg() 
{ 
    alert("您插入的不是图片,请重新选择插入"); 
return false; 
} 
function isimg() 
{   
   alert("图片大小" + Math.round(img.fileSize/1024) +"KB\r图片宽度"+ img.offsetWidth +"\r图片高度"+ img.offsetHeight); 
} 
</script> 
<BODY> 
  <input type="file" name="" onchange="check(this.value)"/> 
</BODY> 
</HTML> 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics