asp.net里有设置上传文件在大小限制.但是如果一但超过这个限制页面就直接报错.
有没有一个办法可以让它不要直接报错,让.aspx程序去提示用户上传的文件太大.

解决方案 »

  1.   

    在web.config里加入<httpRuntime maxRequesLength="文件大小" executionTimeout="上传时间"></httpRuntime>
      

  2.   

    Web.config中的设置:  <httpRuntime maxRequestLength="10240"
        useFullyQualifiedRedirectUrl="true"
        executionTimeout="6000"
       minFreeThreads="8" 
       minLocalRequestFreeThreads="4" 
       appRequestQueueLimit="100" 
        />
        
    比如你想要限到30M.但你会发现。上传20M时就出错了。因为IIS那里就会认为你进行DOS攻击了。把你的页面给断开了。这样子页面就会有问题。所以最好的方法是在客户端用JS进行验证。
      

  3.   

    其实这个问题有点麻烦,我做了个分块传送的控件,可以供楼主参考,允许2G,超过了这个我也没辙,因为这是ASP.NET的最大上传限制
    地址:http://download.csdn.net/source/947074
      

  4.   

    js判断上传文件大小第一种方法是利用IE控件 
    <html> 
    <input type="file" name="file1" onchange="ShowSize(this.value)"> 
    <script language="JavaScript"> 
    <!-- 
    function ShowSize(files) 

    var fso,f; 
    fso=new ActiveXObject("Scripting.FileSystemObject"); 
    f=fso.GetFile(files); 
    if(f.size>1024*4){ 
    alert(f.size+" Bytes"); 


    //--> 
    </script> 
    </html>
    第二种方法是利用IE下,Image对象的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters 限制:
    <input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/>  
    <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>
      

  5.   

    在asp.net中,有相关的方法啊。
    可以判断一个文件的大小。PostedFile.ContentLength就可以判断出文件的大小