日期:2014-05-16  浏览次数:20441 次

用js判断上传文件的大小

在本地运行可以,运行环境IE,不过还要进行IE设置,所以舍弃了,直接在后台传过来个页面显示是否文件过大信息,在网上找了半天,就这个可行,留着以后用吧

<script language="javascript" type="text/javascript">
function getFileSize(filename)
{
    alert("进入该方法");
    // var filename = document.all('fileup').value; //获得上传文件的物理路径
    if(filename =='')
     {
       alert("你还没有浏览要上传的文件"); 
       return false;
     }

     try { 
       
   var fso,f,fname,fsize;
   var flength=4; //设置上传的文件最大值(单位:kb),超过此值则不上传。 
   fso=new ActiveXObject("Scripting.FileSystemObject");
    f=fso.GetFile(filename);//文件的物理路径
   fname=fso.GetFileName(filename);//文件名(包括扩展名)
   fsize=f.Size; //文件大小(bit)
   fsize=fsize/1024/1024;
//去掉注释,可以测试
        alert("文件路径:"+f);
        alert("文件名:"+fname);
        alert("文件大小:"+fsize+"M");
if(fsize>flength)
{
  alert("上传的文件到小为:"+fsize+"M,\n超过最大限度"+flength+"M,不允许上传 ");
  return false;
}
else
{     
   alert("允许上传,文件大小为:"+fsize+"M");
}
   
      }
      catch(e) 
{
alert(e+"\n 跳出此消息框,是由于你的activex控件没有设置好,\n"+
"你可以在浏览器菜单栏上依次选择\n"+
"工具->internet选项->\"安全\"选项卡->自定义级别,\n"+
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n"+
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
         return false;
      }
   
   return true;
     
}
</script>

?