.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