方法一,利用ActiveX控件实现:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif) 代码
1 2 function getFileSize(filePath) 3 { 4 var fso = new ActiveXObject("Scripting.FileSystemObject"); 5 alert("文件大小为:"+fso.GetFile(filePath).size); 6 } 7 8 9 10 11 12
这个方法在IE可以用,不足之处会有安全提示,把文件名改为.hta则会屏蔽掉安全提示。
方法二,利用img的dynsrc属性:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif) 代码
1 2 function getFileSize(filePath) 3 { 4 var image=new Image(); 5 image.dynsrc=filePath; 6 alert(image.fileSize); 7 } 8 9 10 11 12 13
这个方法在IE6可以用,在IE7,IE8,Firefox,chrome不能用。
方法三,利用img的fileSize:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif) 代码
1 2 var ImgObj=new Image(); //建立一个图像对象 3 var AllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//全部图片格式类型 4 var FileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,HasCheked,IsImg//全局变量 图片相关属性 5 //以下为限制变量 6 var AllowExt=".jpg|.gif|.doc|.txt|" //允许上传的文件类型 ?为无限制 每个扩展名后边要加一个"|" 小写字母表示 7 //var AllowExt=0 8 var AllowImgFileSize=70; //允许上传图片文件的大小 0为无限制 单位:KB 9 var AllowImgWidth=500; //允许上传的图片的宽度 ?为无限制 单位:px(像素) 10 var AllowImgHeight=500; //允许上传的图片的高度 ?为无限制 单位:px(像素) 11 HasChecked=false; 12 function CheckProperty(obj) //检测图像属性 13 { 14 FileObj=obj; 15 if(ErrMsg!="") //检测是否为正确的图像文件 返回出错信息并重置 16 { 17 ShowMsg(ErrMsg,false); 18 return false; //返回 19 } 20 21 if(ImgObj.readyState!="complete") //如果图像是未加载完成进行循环检测 22 { 23 setTimeout("CheckProperty(FileObj)",500); 24 return false; 25 } 26 27 ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得图片文件的大小 28 ImgWidth=ImgObj.width //取得图片的宽度 29 ImgHeight=ImgObj.height; //取得图片的高度 30 FileMsg="\n图片大小:"+ImgWidth+"*"+ImgHeight+"px"; 31 FileMsg=FileMsg+"\n图片文件大小:"+ImgFileSize+"Kb"; 32 FileMsg=FileMsg+"\n图片文件扩展名:"+FileExt; 33 34 if(AllowImgWidth!=0&&AllowImgWidth |