隐藏

ASP.NET中maxRequestLength和maxAllowedContentLength的区别;上传大文件设置IIS7文件上传的最大大小

发布:2022/6/17 11:13:26作者:管理员 来源:本站 浏览次数:824

maxRequestLength表示ASP支持的最大请求大小,而maxAllowedContentLength指定IIS支持的请求中内容的最大长度。因此,要上传大文件,我们需要同时设置这两个参数:较小的那个“优先”,即最终支持上传的文件的大小根据maxRequestLength和maxAllowedContentLength中的较小值而定。
如果文件长度小于maxAllowedContentLength但大于maxRequestLength,用户将获得标准(ASPX)错误页面。相反,用户会得到IIS错误页面。

HTTP Error 404.13 - Not Found

The request filtering module is configured to deny a request that exceeds the request content length.

需要在web.config中配置如下:

 <system.web>

  <httpRuntime requestValidationMode="2.0" maxRequestLength="3072" ></httpRuntime>

  <!--单位:KB 3072=3MB   默认是4MB,最大支持2GB-->

 </system.web>

<system.webServer>

 <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="2147483648" />
        <!--单位:字节B  2147483648=2 GB 默认是4MB,最大支持2GB-->
      </requestFiltering>
    </security>

</system.webServer>

最后,需要注意的是,maxRequestLength的单位是KB,而maxAllowedContentLength的单位是字节,既然是请求,那么指的不仅仅是上传文件,只要是用户发送的请求,都可以通过上面的配置限制,比如Ajax请求服务器接口,参数内容超过了设置的最大长度就会请求失败!