有一种方法到是挺流行的,不过好像只能在本地机可以,放到服务器上好像不行吧?
如:var ip = document.getElementById(fulFile);  
 ip.select();
 var path = document.selection.createRange().text;fso   =   new   ActiveXObject("Scripting.FileSystemObject");
var file=fso.GetFile(path);
alert(file.size);当然,要先开启ACTIVEX。
我的path这个对象得不到值,不知道怎么回事。
我用其它方法得到了input框里的文本值:D:\xxx\xxx\xx.doc
我在本地(localhost)试可以,但把项目放到服务器上就不行,找不到路径,因为取的是带盘符的本地路径不知道应该怎么处理,在网上找了很多,差不多都是这种方法,难道他们都不用放到服务器上???真是奇怪!

解决方案 »

  1.   

    html/js无法实现的功能
    你的方式也只有ie支持你可以找一个flash上传组件,flash可以在前段判断文件大小,比如jquery.uploadify
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function show(){
    var fs=document.getElementById("test").files;
    var div=document.getElementById("show");
    for(var i=0;i<fs.length;i++){
    div.innerHTML+="name:"+fs[i].name+",size:"+fs[i].size+",type:"+fs[i].type+"<br/>";
    }
    }
    </script>
    </head><body>
    <input type="file" multiple id="test">
    <input type="button" value="show" onclick="show()">
    <div id="show"></div>
    </body>
    </html>html5貌似有个这样的玩意  不知行不行
      

  3.   


    不行哦,我拿出来用了下,没反应,是不是我的是IE9的原因?再回下前面的,我火狐的可以得到,因为有专门的函数取,就是IE.....真麻烦。
      

  4.   

    目前得到上传文件的大小只有主流高版本浏览器支持,具体可以参考html5的File API.
    var file = document.getElementById('fileElement');
    var list = file.fileList;
    var size = list[0].fileSize;
      

  5.   

    用swfupload吧, 只有这个才是最好用的。 能兼容所有浏览器, 而且功能齐全。
      

  6.   

    不行,用不了,我现在是IE9,不知道算不算主流高版了。
    你在网上查一下HTML5的file api吧!
      

  7.   

    试试 jquery http://stackoverflow.com/questions/1601455/check-file-input-size-with-jquery