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

在我们的项目中遇到"超过了最大请求长度"如下图所示,是因为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

posted @ 2018-05-31 11:40  邵世铨  阅读(380)  评论(0编辑  收藏  举报