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');
<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>