我用FileUpload上传图片,能不能在图片上载之前就判断文件的大小。比如QQ邮箱那种,上载的附件过大就提示不允许上载。我想知道如何在文件上载之前就能获取文件的大小。找了好久都没有找到满意的答案。望高手赐教!

解决方案 »

  1.   

    http://www.cnblogs.com/yuananyun/archive/2011/02/21.html
    http://blog.sina.com.cn/s/blog_660978cc0100iazj.html
    http://hi.baidu.com/jcserver/blog/item/2381ad13486a9c24dd540112.html例子。
      

  2.   

    <script type="text/javascript">   
    function getFileSize(filePath)   
    {   
      var fso = new ActiveXObject("Scripting.FileSystemObject");   
      alert("文件大小为:"+fso.GetFile(filePath).size);   
    }   
    </script>   
    <body>   
    <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">   
    </body>   
      

  3.   

     HttpFileCollection hfc = Request.Files;
    //判断文件大小是否大于4M
    if (hfc[0].ContentLength < 4 * 1024 * 1024)
      

  4.   

    发现几个问题:1、访问不到dynsrc属性。
                  2、如果Js在onchange事件里调用。判断的总是前一个文件,如何才能做到判断当前的文件呢?
                  3、FileUpload.PostedFile.ContentLength是在上传完成之后才获取到的。
    不知道QQ邮箱上传附件的时候是怎么判断客户端附件大小。有知道的吗?  恳请赐教!
      

  5.   

    Flash上传和Silverlight上传都可以判断大小的
      

  6.   

    本帖最后由 net_lover 于 2011-11-04 11:30:24 编辑
      

  7.   

       
    利用的是 jquery.uploadify  这个控件上传的   可以去看看 资料http://www.cnblogs.com/oec2003/archive/2010/01/06/1640027.html