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

posted @ 2019-05-10 17:30  小小邪  阅读(12011)  评论(0编辑  收藏  举报