Maximum request length exceeded. Maximum request length exceeded. asp.net asp.net

Maximum request length exceeded.


If you are using IIS for hosting your application, then the default upload file size is 4MB. To increase it, please use this below section in your web.config -

<configuration>    <system.web>        <httpRuntime maxRequestLength="1048576" />    </system.web></configuration>

For IIS7 and above, you also need to add the lines below:

 <system.webServer>   <security>      <requestFiltering>         <requestLimits maxAllowedContentLength="1073741824" />      </requestFiltering>   </security> </system.webServer>

Note:

  • maxRequestLength is measured in kilobytes
  • maxAllowedContentLength is measured in bytes

which is why the values differ in this config example. (Both are equivalent to 1 GB.)


I don't think it's been mentioned here, but to get this working, I had to supply both of these values in the web.config:

In system.web

<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />

And in system.webServer

<security>    <requestFiltering>        <requestLimits maxAllowedContentLength="1073741824" />    </requestFiltering></security>

IMPORTANT : Both of these values must match. In this case, my max upload is 1024 megabytes.

maxRequestLength has 1048576 KILOBYTES, and maxAllowedContentLength has 1073741824 BYTES.

I know it's obvious, but it's easy to overlook.


It may be worth noting that you may want to limit this change to the URL you expect to be used for the upload rather then your entire site.

<location path="Documents/Upload">  <system.web>    <!-- 50MB in kilobytes, default is 4096 or 4MB-->    <httpRuntime maxRequestLength="51200" />  </system.web>  <system.webServer>    <security>      <requestFiltering>        <!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb-->        <requestLimits maxAllowedContentLength="52428800" />       </requestFiltering>    </security>  </system.webServer></location>