.net項目中上傳的圖片或者文件太大 無法上傳


最近做項目的時候  用戶提出要上傳大圖片  一張圖片有可能十幾兆  本來用的第三方的上傳控件  有限制圖片上傳大小的設置  

以前設置的是2M  按照用戶的要求  以為直接將限制圖片上傳大小的設置改下就可以了  但是當上傳大圖片的時  總是異常:

錯誤消息:超過了最大請求長度 

解決方案:

錯誤原因:asp.net默認最大上傳文件大小為4M,運行超時時間為90S。

修改web.config中配置

  <configuration>       
        <system.web>     
         <httpRuntime useFullyQualifiedRedirectUrl="true" executionTimeout="120" maxRequestLength="2097151"/>
        </system.web>       
  <configuration>   

  在我的項目中這個修改  之后再上傳就沒問題了  簡單解釋下:

executionTimeout執行超時時間:單位是秒
maxRequestLength上傳的最大長度:上面我設置的已經是最大的數值了  單位為KB

ps:下面是httpRuntime完整配置 以及相關的解釋

  <httpRuntime executionTimeout="600" maxRequestLength="951200" 
   useFullyQualifiedRedirectUrl="true" minFreeThreads="8" 
   minLocalRequestFreeThreads="4" appRequestQueueLimit="100"  enableVersionHeader="true"/> 

httpRuntime是配置asp.net http運行設置,以確定如何處理對asp.net應用程序的請求。

executionTimeout:表示允許執行請求的最大時間限制,單位是秒

maxRequestLength:指示asp.net支持的最大文件上載大小。該顯示可用於防止因用戶將大量文件傳遞到該服務器而導致的拒絕服務攻擊。指定的大小是KB為單位。默認值為4096KB.

userFullyQualifiedRedirectUrl:表示指示客戶端重定向是否是完全限定的(采用:“http://server/path”格式,這是某些移動控件所必須的),或者指示是否代之以將相對重定向發送到客戶端。如果為true,則所有不是完全限定的重定向都將自動轉換為完全限定的格式。false 是默認選項。

minFreeThreads:表示指定允許執行新請求的自由線程的最小數目。ASP.NET為要求附加線程來完成其處理請求而指定數目的線程保持自由狀態。默認值為8.

minLocalRequestFreeThreads:表示ASP.NET保持的允許執行新本地請求的自由線程的最小數目。該線程數目是為了本地主機傳入的請求而保留的,以防某些請求在其處理期間發出對本地主機的子請求。這避免了可能因遞歸重新進入web服務器而導致的死鎖。

enableVersionHeader:表示指定的ASP.NET是否應輸出版本的標頭。vs2005使用該屬性來確定當前的使用ASP.NET版本。對於生產環境,該屬性不是必需的,可以禁用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM