try
--------------------------------------
文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。不过在IE下img有几个附加的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上传之前判断图片文件的大小是否合法了。限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> K
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<img src="about:blank" id="fileChecker" alt="test"  height="18"/><script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker");function changeSrc(filePicker)
{
    oFileChecker.src = filePicker.value;
}oFileChecker.onreadystatechange = function ()
{
    if (oFileChecker.readyState == "complete")
    {
        checkSize();
    }
}function checkSize()
{
    var limit  = document.getElementById("fileSizeLimit").value * 1024;    if (oFileChecker.fileSize > limit)
    {
        alert("too large");
    }
    else
    {
        alert("ok");
    }
}
</script>

解决方案 »

  1.   

    楼上正解,,,IMG外的类型还没方法。
      

  2.   

    用这个取得上传文件的大小,看行不?
    function ShowFileInfo(filespec)
    {
       var fso, f, s;
       fso = new ActiveXObject("Scripting.FileSystemObject");
       f = fso.GetFile(filespec);
       s = f.Size;
       return(s);
    }
      

  3.   

    楼上的回答都有问题,楼主问上传文件的大小控制,一干人等回答上传图片的大小控制,根本就是两回事嘛。
    HtmlInputFile控件上传文件有的大小控制。上载大文件时,可以通过元素maxRequestLength属性来增加文件大小的最大允许值。例如:
    <configuration>
    <system.web>
    <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
    </system.web>
    </configuration>
      其中:maxRequestLength:指示 asp.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 asp.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。
    另外,再附上限制图片大小的源码:<SCRIPT LANGUAGE="JavaScript">
    <!--
    var FileMaxSize = 200;//限制上传的文件大小,单位(k)
    function chkform(){
    if (document.HwForm.Photo.value==""){alert("请选择照片");document.HwForm.Photo.focus();return false;}
    if(document.HwForm.PhotoFileSize.value<=0){alert("请重新选择照片");document.HwForm.Photo.focus();return false;}
    if(document.HwForm.PhotoFileSize.value>FileMaxSize*1024){alert("选择的照片超过"+FileMaxSize+"K,请重新选择");document.HwForm.Photo.focus();return false;}
    }
    //-->
    </SCRIPT> 
    <cfif isdefined("form.add") and isdefined("form.Photo")>
    <!---判断文件目录是否存在--->
    <cfset Dir=ReplaceNoCase(GetTemplatePath(),"text.cfm","UploadPic\")>
    <cfset UploadPath=Dir>
    <cfif DirectoryExists(UploadPath) EQ "No"><!--- 新建目录 --->
    <cfdirectory directory=#UploadPath# action="create">
    </cfif>
    <!---上传图片--->
    <CFFILE ACTION="Upload"  fILEFIELD="Photo" DESTINATION="#dir#" nameconflict="OverWrite" accept="image/gif,image/pjpeg,image/jpg" >    
    <script>alert('上传成功');window.location.href('UpLoadPic.cfm');</script>
    </cfif>
    <form method="POST" name="HwForm" onsubmit="return(chkform());" enctype="multipart/form-data">
    <br />
    <span class="style2">照片档案格式限制如下:<br />
    <li>&nbsp;JPG或Gif图档</li><br />
    <li>&nbsp;上传图档不可超过200k </li></span><br /><br />
    <input type="file" name="Photo" onpropertychange="if(document.HwForm.Photo.value!=''){document.getElementById('PhotoImg').src=document.HwForm.Photo.value;}"/><IMG style="POSITION: absolute; TOP: -100000px;left:-100000px;" onerror="document.all.PhotoFileSize.value='-1';alert('请选择一个图像文件');" onload="if(document.getElementById('PhotoImg').fileSize<=1024*FileMaxSize){document.all.PhotoFileSize.value=document.getElementById('PhotoImg').fileSize;}else{alert('图片不能大于'+FileMaxSize+'K,请重新选择');document.all.PhotoFileSize.value='-1';}" id="PhotoImg"><input size="3" type="hidden" name="PhotoFileSize" value="-1" /><INPUT TYPE="submit" VALUE="上 传" name="add">    
    </form>
      

  4.   

    这类事情放到服务端去做会比较理想,
    如果要无刷Ajax是个不错的选择。
      

  5.   

    叫chszs(老刀)的真搞笑,不知道好好看看别人的回答就自以为是..
      

  6.   

    chszs(老刀) ( ) 信誉:100 
    楼主问上传文件的大小控制,一干人等回答上传图片的大小控制,根本就是两回事嘛。-------------你这说的是什么跟什么?