在前台如何用javascript判断要上传文件大小,大于1M的不予上传。
最好不用ActiveXObject,因为不太安全,一经解决马上给分。

解决方案 »

  1.   

    <script language="javascript">
    function myfile()
    {
            var url=f1.my.value
    var fso=new ActiveXObject("Scripting.FileSystemObject")
    var fl=fso.getfile(url)
    flsize=fl.size
    flName=fl.name
            alert("文件:"+flName+" 大小:"+flsize+"字节")
    }
    </script>
    <form name="f1">
    <input type="file" name="my" onblur="myfile()">
    </form>
      

  2.   


    <script>
    function GetFileSize()
    {
    var filename=document.all.File.value;
    if(filename=='')
    {
    return false;
    }
    try
    {
    var ado_stream=new ActiveXObject("ADODB.Stream");
    //1=adTypeBinary;2=adTypeText
      ado_stream.Type=2;
      ado_stream.Open();
      ado_stream.LoadFromFile(filename);//将文件信息存入流
    alert((ado_stream.Size/1024).toFixed(2)+"KB")
    }
    catch(e)
    {
    window.confirm(e);
    return false;
    }
    return true;
    }
    </script>
    <input type=file id="File"><input type=button onclick="GetFileSize()">
      

  3.   

    这是判断文件夹的大小,判断文件的大小类似。你要用JS判断客户端文件的大小那必然涉及到安全问题……function ShowFolderSize(filespec)
    {
       var fso, f, s;
       fso = new ActiveXObject("Scripting.FileSystemObject");
       f = fso.GetFolder(filespec);
       s = f.Name + " uses " + f.size + " bytes.";
       return(s);
    }