解决方案 »

  1.   

    function getFileSize(elementId){
        var agent      = window.navigator.userAgent;
        var fileupload = document.getElementById(elementId);
        var isIE6 = agent.indexOf('MSIE 6.0') != -1;
        var isIE = agent.indexOf('MSIE') != -1;
       // var maxSize = 2000000;
        var fileSize = 0;
        try{
        
            if(isIE6){//ie6
                 filepath = fileupload.value; 
                 var aa = new ActiveXObject("Scripting.FileSystemObject"); 
                  fileSize = aa.GetFile(filepath).size;
            }else if(isIE){//其他ie
                fileupload.select();
                filepath = document.selection.createRange().text;
                var aa = new ActiveXObject("Scripting.FileSystemObject"); 
                fileSize = aa.GetFile(filepath).size; 
            }else{//姑且w3c标准
                fileSize = fileupload.files[0].size;
            }
             return fileSize;
            
        }catch(e){
            alert("请修改IE浏览器ActiveX安全设置为启用~!");
            return fileSize;
        }    
        return fileSize;   
     }
    document.getElementById('file').onchange = function(){
          var size = getFileSize(this.id)
    }试试看吧。没怎么测试,IE8下面是可以的。FF,chrome也没问题。.
    主要是IE下面要用activeX来读取客户端文件可能会有问题。
      

  2.   

    可以用flash插件  swfupload
      

  3.   


     除了用插件,有没有更好的办法呢?  比如js之类的(之前找了多个示例还是没有成功),在客户端进行判断,我用的是php 语言