在我们的项目中遇到"超过了最大请求长度"如下图所示,是因为IIS默认请求长度4M,当请求长度大于这个值的时候报错,下面是解决方案.
解决方案:修改web.config文件
1、注意在mvc中有两个web.config文件,如下图,一个位于Views下,是用来控制view中的文件;还有一个在位于根目录下,对所有文件起作用。我们修改根目录下web.config
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