如何解決“HttpException (0x80004005): 超過了最大請求長度”問題


.net mvc項目在做上傳文件時,出現這個問題,上傳文件的是通過表單提交,后台是通過請求里面獲取文件信息的

1、問題截圖:

 

堆棧信息

“/”應用程序中的服務器錯誤。
超過了最大請求長度。
說明: 執行當前 Web 請求期間,出現未經處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.Web.HttpException: 超過了最大請求長度。

[HttpException (0x80004005): 超過了最大請求長度。]
   System.Web.HttpRequest.GetEntireRawContent() +9936248
   System.Web.HttpRequest.GetMultipartContent() +63
   System.Web.HttpRequest.FillInFormCollection() +160
   System.Web.HttpRequest.EnsureForm() +69
   System.Web.HttpRequest.get_Form() +13
   System.Web.HttpRequest.get_Item(String key) +42
   DevExpress.Web.ASPxHttpHandlerModule.IsCallBack(HttpRequest request) +81
   DevExpress.Web.ASPxHttpHandlerModule.PreSendRequestHeadersHandler(Object sender, EventArgs args) +110

2、 解決方法:

在項目web.config文件上添加如下配置

1)在<system.web>下添加最大請求長度設置為1G

<system.web>
 <!--最大請求長度,單位為KB(千字節),默認為4M,設置為1G,上限為2G -->
    <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
</system.web>

2)在<system.webServer>下添加允許上傳文件長度設置為1G

<system.webServer> 
  <!--允許上傳文件長度,單位字節(B),默認為30M,設置為1G,最大為2G -->
    <security>
       <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824"/>
      </requestFiltering>
    </security>
 </system.webServer>

注意:

1)為什么要設置最大請求長度為1G?

原先是設置為20M的,然后客戶上傳一個21M,所以還是會報這樣的問題

2)那么如何解決限制文件上傳大小?

在配置文件設置為1G,在文件上傳方法進行文件大小限制判斷

參考網址:

https://www.jb51.net/article/88698.htm


免責聲明!

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



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