.net mvc 超过了最大请求长度 限制文件上传大小

时间:2023-03-08 23:43:53
.net mvc 超过了最大请求长度 限制文件上传大小

在我们的项目中遇到"超过了最大请求长度"如下图所示,是因为IIS默认请求长度4M,当请求长度大于这个值的时候报错,下面是解决方案.

.net mvc 超过了最大请求长度 限制文件上传大小

解决方案:修改web.config文件

1、注意在mvc中有两个web.config文件,如下图,一个位于Views下,是用来控制view中的文件;还有一个在位于根目录下,对所有文件起作用。我们修改根目录下web.config

.net mvc 超过了最大请求长度 限制文件上传大小

2、修改maxRequestLength:在web.config中我们修改<system.web></system.web>中的maxRequestLength,表示最大请求长度,单位是kb,默认4M

<system.web>
<!--最大请求长度,单位为kb-->
<httpRuntime maxRequestLength="20480" />
</system.web>

3、修改maxAllowedContentLength: 在web.config中我们修改<system.webServer></system.webServer>中的maxAllowedContentLength,表示附件大小上限,单位是字节,默认约30M

 <system.webServer>
<!--允许上传文件长度,单位字节-->
<security>
 <requestFiltering>
<requestLimits maxAllowedContentLength="20971520"/>
</requestFiltering>
</security>
</system.webServer>

注意:

maxRequestLength与maxAllowedContentLength的区别:

a、前者表示请求长度,后者表示上传文件的大小;

b、前者单位kb,后者单位字节;

c、前者默认值4M,后者默认值30000000B,约30M;

d、两者的最大值都为2G