如何解决“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