用FileSystemObject对象的GetFile().Size
不过得开放JS权限

解决方案 »

  1.   

    filestream 的size属性可以获取
      

  2.   

    js验证图片的尺寸 大小 ??难道用js Image 注册图像然后获得scale width??
      

  3.   

    ie7,ff,均无法获取本地图片的尺寸,因此必须通过服务器。
    第一种方法是完全在服务器端通过图片数据进行字节分析;
    第二种是完全在服务器端通过图片处理组件进行解析;
    第三种方法是图片上传到服务器后将图片回显给浏览器,这时候可以通过js读取图片的尺寸。
      

  4.   

    代码如下:
        
    /*************************************************
    HTML表单
    *************************************************/
    <form id="FormUpload" enctype="multipart/form-data" method="post" runat="server">
    <p>
     <input type="file" runat="server" id="myFile1" class="edit" size="100">
     <asp:Button CssClass="btn" ID="myButton1" Text="Upload" Runat="server"></asp:Button>
    </p>
    <p>
     <asp:Label Runat="server" ID="myLabel1" ForeColor="red"></asp:Label>
    </p>
    </form>
    /*************************************************
    CS中为控件注册的事件
    *************************************************/
    this.myButton1.Attributes.Add("onclick","javascript:return checkForm()");
    this.myFile1.Attributes.Add("onpropertychange","javascript:loadImage()");
    /*************************************************
    JS相关的函数
    *************************************************/
    var filesize=122880;
    var fileType='.gif,.jpg,.png,.jpeg,.bmp,';
    var img=null;
    var buttonID='myButton1',fileID='myFile1';
    function loadImage()
    {
     var button=document.getElementById(buttonID);
     button.disabled=true;
     var fileUp=document.getElementById(fileID)
     if(fileUp.value.length>=0 && isImage(fileUp.value))
     {
      if(img)
       img=null;
      img=document.createElement("img");
      img.style.position="absolute";
      img.style.visibility="hidden";
      img.width=0;
      img.height=0;
      img.attachEvent("onreadystatechange",onChg);
      img.attachEvent("onerror",onErr);
      document.body.insertAdjacentElement("beforeend",img);
      img.src=fileUp.value;
     }
    }
    function checkForm()
    {
     var fileUp=document.getElementById(fileID)
     if(fileUp.value.length==0)
     {
      alert("请选择需要上传的文件");
      return false;
     }
     if(!isImage(fileUp.value))
     {
      alert("只能上传GIF,JPG,PNG,JPEG,BMP格式的图片");
      return false;
     }
     if(img.readyState!='complete')
     {
      alert('不能加载图片');
      return false;
     }
     if(img.fileSize>=filesize)
     {
      alert('图片尺寸必须小于'+formatSize(filesize)+'');
      return false;
     }
     return true;
    }
    function isImage(file)
    {
     var ext=file.substr(file.lastIndexOf('.')).toLowerCase()
     return fileType.indexOf(ext+',')>=0
    }
    function formatSize(size)
    {
     if (size < 0x100000)
      return Math.round(size/0x400)+"KB";
     else
      return (Math.round((size/0x100000)*10)/10)+"MB";
    }
    function onErr()
    {
     alert("不能加载图片");
    }
    function onChg()
    {
     if(img.readyState!='complete')
      return;
     else
     {
      var button=document.getElementById(buttonID);
      button.disabled=false;
     }
    }
      

  5.   

    要用一点技巧,服务器远程测试通过: <body> 
        <input type="file" name="file" id="fileHead" /> 
        <input name="Submit2" type="button" onclick="chargenHead()" value="Upload" /> 
        <img src="" style="display:none" id="testimg" onload="getSize(this)" /> 
        <script language="javascript"  type="text/javascript"> 
        function chargenHead() 
        { 
            var vv=document.getElementById("fileHead").value; 
            var reg=new RegExp("\\\\","g"); 
            vv=vv.replace(reg,"/"); 
            vv="file:///"+vv; 
    document.getElementById("testimg").src=vv; 
        } 
        function getSize(o) 
        { 
            o.style.display=""; 
            //****************得到图片宽度 
            ww=o.width; 
            //****************得到图片高度 
            hh=o.height; 
            o.style.display="none"; 
            window.status="width:"+ww+"  height:"+hh; 
        } 
    </script> </body>