有安全方面的限制,不是很好
------------------------------
<script>
function getFileSize(filespec)
{
   try{
   var fso, f, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f = fso.GetFile(filespec);
   s = f.size;
   return(s);
   }catch(e){}
}
function regcheck(formct){
  if (formct.file.value==''){
    alert('源文件为空,请选择');
    return false; 
  }
  else
  {
    if(getFileSize(formct.file.value) > 1024*1024*2)
      alert('文件大小超过2M,请重新选择');
    return false;
  }}
</script>

解决方案 »

  1.   

    在客户端判断要用fso对象,受安全设置的局限,不是很好。
    可以模仿hotmail加入附件的办法:先不管大小都传到服务器端临时文件夹,每传到一个,服务器端累加一次总长度,看是不是超过。加完后,移到指定文件夹
      

  2.   

    请教xjdawu(无法界定)
    第一个函数是干嘛的???请赐教,谢谢!!!
      

  3.   

    引用一段:脚本运行时库   FileSystemObject 基础
    ------------------------------------------------------
    ... ...
    利用脚本编辑,可使用 FileSystemObject (FSO) 对象模型处理驱动器、文件夹和文件。
    ... ...
    FileSystemObject 对象模型 使用户可以利用熟悉的 object.method 语法和各种属性、方法及事件来处理文件夹和文件。getFileSize函数借助FileSystemObject 对象模型得到所选择的文件的大小(引用了size属性而已)
      

  4.   

    xjdawu(无法界定):
    为何加进去你的代码后,连检查源文件是否为空都无法实现了,是何原因???我的代码如下,烦请看一下问题在哪,谢谢!!!<form action=$PHP_SELF method=post enctype=multipart/form-data name=form1 onSubmit='return regcheck(this)'>
    <input type=file name=file>
    <input type=submit name=Subftp value=上传><script language=JavaScript1.2>function getFileSize(filespec){
       try{
       var fso, f, s;
       fso = new ActiveXObject("Scripting.FileSystemObject");
       f = fso.GetFile(filespec);
       s = f.size;
       return(s);
       }catch(e){}
    }function regcheck(formct){
        if (formct.file.value==''){
         alert('源文件为空,请选择');
        return false; 
        }
        else {
    if (getFileSize(formct.file.value) > 1024*1024*2){
               alert('文件大小超过2M,请重新选择');
            return false;
       }
        }
    }
    </script>