var fso,f;  
  var fso = new ActiveXObject("Scripting.FileSystemObject");    
  f=fso.getfile(file.value);
  var filesize = f.size ;
  alert(filesize);
  if((filesize/1024) < 1024){
    alert(filesize/1024+"k");
  }else if( ((filesize/1024) > 1024) && ((filesize/(1024*1024)) < 1024)){
    alert(filesize/(1024*1024)+"m");
  }else{
    alert(filesize/(1024*1024*1024)+"g")
  }我想取文件的大小,可是这样取出来的是X.XXXXXXk、X.XXXXm等,我要的是一个数字k,多少兆大小,而不是X.XXX,还有就是不支持new ActiveXObject("Scripting.FileSystemObject");    我修改IE安全才好用,有别的办法吗,不可能让所有用户看都修改IE

解决方案 »

  1.   

    function getFileSize(file) {   
        if (file.fileSize < 0) {   
            return setTimeout('retValue = checkFileSize(file)', 100);   
        } else {   
            return file.fileSize;   
        }   
    }
      

  2.   

    你这样取出来的怎么知道他是kb,还是m兆呢
      

  3.   


    FileInfo fi = new FileInfo(pPath);
                string aa = fi.Length.ToString();这样获取的是字节,你转换下就可以了
      

  4.   

    file.InputStream.Length
    这个就是文件大小了 。
    前台做不是很完美 。