前端js获取图片大小

  • admin 发布于 2016-10-19 16:34:41
  • 栏目:网站前端
  • 来源:原创
  • 159 人围观
  • 3 个赞

在前端用js实现获取图片大小,百度里有很多类似的,但是大多都不能用,主要有一点问题是出在Filesize上,事实上使用

files[0].size

才能实现这个效果。关键在于

var imgSize=obj.files[0].size;

这句代码。



话不多说直接po代码了


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<input type="hidden" name="MAX_FILE_SIZE" id="MAX_FILE_SIZE" value="8000" />

<input type="file" name="files" id="files"   onchange="checkFileType(this)"/>
<script type="text/javascript">
var maxSize=document.getElementByIdx_x('MAX_FILE_SIZE').value;

function checkFileType(obj){

var path=obj.value.toString();

var perfix=path.substring(path.indexOf('.')+1);

var regExp=/(jpg|jpeg|gif|png)/gi;

if(perfix.match(regExp)){

checkFileSize(obj); //如果图片文件类型匹配成功则执行文件大小的检测。

       }else{

alert('对不起,请选择图片文件'); return false;

} }
function checkFileSize(obj){

var img=new Image();

try{

var imgSize=obj.files[0].size;

return isLarged(imgSize,maxSize);//图片文件大小比对。

       }catch(e){ try{

img.src=obj.value;

return isLarged(img.fileSize,maxSize);

}catch(e){

obj.select();

var path=document.selection.createRange.text();

img.src=path;

return isLarged(img.fileSize,maxSize);

} } }
function isLarged(imgSize,maxSize){

if(imgSize>maxSize){

alert('对不起,您选择的图片文件超过了'+parseInt(maxSize/1024)+'Kb');

return false;

}else{

alert(parseInt(imgSize/1024)+ 'kb ' + 'This large is OK');

return true;

} } </script>



评论