javascript获取文件尺寸方法

lxf2023-02-19 10:29:58

方式:1、运用ActiveX控制,词法“var f=new ActiveXObject("Scripting.FileSystemObject");f.GetFile(filePath).size”;2、运用img的fileSize特性。

javascript获取文件尺寸方法

实例教程作业环境:windows7系统软件、javascript1.8.5版、Dell G3计算机。

javascript获取文件尺寸

方法一,运用ActiveX控制完成:

<script type="text/javascript">
function getFileSize(filePath)
{
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  alert("图片大小为:" fso.GetFile(filePath).size);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">
</body>

用这种方法在IE能用,存在的不足会出现安全小常识,把文件夹名称改成.hta往往会屏蔽安全小常识。

方法二,运用img的fileSize:

<script language=javascript> 
var ImgObj=new Image(); //建立一个图象目标 
var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//所有图片的格式种类 
var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,HasCheked,IsImg//局部变量 照片有关特性 
//以下是限定自变量 
var AllowExt=".jpg|.gif|.doc|.txt|" //容许上传文件属性 ?为不受限制 每一个后缀名后面得加一个"|" 小写表明 
//var AllowExt=0 
var AllowImgFileSize=70;  //容许上传照片文件信息尺寸 0为不受限制 企业:KB 
var AllowImgWidth=500;   //容许上传照片的宽度 ?为不受限制 企业:px(清晰度) 
var AllowImgHeight=500;   //容许上传图形的相对高度 ?为不受限制 企业:px(清晰度) 
HasChecked=false; 
function CheckProperty(obj)  //检验图象特性 
{ 
 FileObj=obj; 
 if(ErrMsg!="")   //检验是否属于正确位图文件 回到出差错信息内容并重设 
 { 
   ShowMsg(ErrMsg,false); 
   return false;   //回到 
 } 
 if(ImgObj.readyState!="complete") //假如图象是未加载完成开展循环系统检验 
 { 
   setTimeout("CheckProperty(FileObj)",500); 
   return false; 
 } 
 ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//获得图片文件大小 
 ImgWidth=ImgObj.width   //获得照片的宽度 
 ImgHeight=ImgObj.height;  //获得图形的相对高度 
 FileMsg="\n图片尺寸:" ImgWidth "*" ImgHeight "px"; 
 FileMsg=FileMsg "\n照片图片大小:" ImgFileSize "Kb"; 
 FileMsg=FileMsg "\n照片文件后缀名:" FileExt; 
 if(AllowImgWidth!=0&&AllowImgWidth<ImgWidth) 
   ErrMsg=ErrMsg "\n图片宽度超出限定。请提交总宽低于" AllowImgWidth "px文件,现阶段图片宽度为" ImgWidth "px"; 
 if(AllowImgHeight!=0&&AllowImgHeight<ImgHeight) 
   ErrMsg=ErrMsg "\n照片相对高度超出限定。请提交相对高度低于" AllowImgHeight "px文件,现阶段照片高度为" ImgHeight "px"; 
 if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize) 
   ErrMsg=ErrMsg "\n照片图片大小超出限定。请提交低于" AllowImgFileSize "KB文件,现阶段图片大小为" ImgFileSize "KB"; 
 if(ErrMsg!="") 
   ShowMsg(ErrMsg,false); 
 else 
   ShowMsg(FileMsg,true); 
 } 
 ImgObj.onerror=function(){ErrMsg='\n图片的格式有误或是照片已经坏了!'} 
 function ShowMsg(msg,tf) //表明消息提示 tf=true 显示文件信息内容 tf=false 表明错误报告 msg-信息 
 { 
 msg=msg.replace("\n","<li>"); 
 msg=msg.replace(/\n/gi,"<li>"); 
 if(!tf) 
 { 
   document.all.UploadButton.disabled=true; 
   FileObj.outerHTML=FileObj.outerHTML; 
   MsgList.innerHTML=msg; 
   HasChecked=false; 
 } 
 else 
 { 
   document.all.UploadButton.disabled=false; 
   if(IsImg) 
    PreviewImg.innerHTML="<img src='" ImgObj.src "' width='60' height='60'>" 
   else 
    PreviewImg.innerHTML="非图片文件"; 
    MsgList.innerHTML=msg; 
    HasChecked=true; 
 } 
} 
function CheckExt(obj) 
{ 
 ErrMsg=""; 
 FileMsg=""; 
 FileObj=obj; 
 IsImg=false; 
 HasChecked=false; 
 PreviewImg.innerHTML="浏览区"; 
 if(obj.value=="")return false; 
 MsgList.innerHTML="文档信息资源管理中..."; 
 document.all.UploadButton.disabled=true; 
 FileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase(); 
 if(AllowExt!=0&&AllowExt.indexOf(FileExt "|")==-1) //分辨文件属性是否允许提交 
 { 
   ErrMsg="\n该文件属性不可以提交。请提交 " AllowExt " 种类文件,现阶段文件属性为" FileExt; 
   ShowMsg(ErrMsg,false); 
   return false; 
 } 
 if(AllImgExt.indexOf(FileExt "|")!=-1)  //假如图片文件,则开展照片信息资源管理 
 { 
   IsImg=true; 
   ImgObj.src=obj.value; 
   CheckProperty(obj); 
   return false; 
 } 
 else 
 { 
   FileMsg="\n文件后缀名:" FileExt; 
   ShowMsg(FileMsg,true); 
 } 
 } 
 function SwitchUpType(tf) 
 { 
   if(tf) 
   str='<input type="file" name="file1" onchange="CheckExt(this)" style="width:180px;">' 
   else 
   str='<input type="text" name="file1" onblur="CheckExt(this)" style="width:180px;">' 
   document.all.file1.outerHTML=str; 
   document.all.UploadButton.disabled=true; 
   MsgList.innerHTML=""; 
 } 
 </script> 
 <form enctype="multipart/form-data" method="POST" onsubmit="return HasChecked;"> 
 <fieldset style="width: 372; height: 60;padding:2px;"> 
 <legend><font color="#FF0000">图片出处</font></legend> 
 <input type="radio" name="radio1" checked onclick="SwitchUpType(true);">当地<input type="radio" name="radio1" onclick="SwitchUpType(false);">远程控制:<input type="file" name="file1" onchange="CheckExt(this)" style="width:180px;"> <input type="submit" id="UploadButton" value="逐渐提交" disabled> 
 <div style="border:1 solid #808080;background:#E0E0E0;width100%;height:20px;color:#606060;padding:5px;"> 
 <table border="0"><tr><td width="60" id="PreviewImg">浏览区</td><td id="MsgList" valign="top"></td></tr></table> 
 </div> 
 </fieldset> 
 </form>

在IE,FireFox,chrome都能用,但是只分辨图片文件大小。

【强烈推荐学习培训:javascript高级教程】

以上就是关于javascript怎样获得图片大小的具体内容,大量欢迎关注AdminJS其他类似文章!