Pregunta Longitud máxima de solicitud excedida.


Estoy recibiendo el error Longitud máxima solicitada excedida cuando intento subir un video en mi sitio.

¿Cómo puedo solucionar esto?


857
2017-10-04 08:48


origen


Respuestas:


Si está utilizando IIS para alojar su aplicación, entonces el tamaño de archivo de carga predeterminado es de 4MB. Para aumentarlo, utilice la siguiente sección en su web.config -

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

Para IIS7 y superior, también debe agregar las líneas a continuación:

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

Nota:

  • maxRequestLength se mide en kilobytes
  • maxAllowedContentLength se mide en bytes 

por eso los valores difieren en este ejemplo de configuración. (Ambos son equivalentes a 1 GB)


1650
2017-10-04 08:52



No creo que se haya mencionado aquí, pero para que esto funcione, tuve que proporcionar estos dos valores en el web.config:

En system.web

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

Y en system.webServer

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

IMPORTANTE : Ambos valores deben coincidir. En este caso, mi carga máxima es de 1024 megabytes.

maxRequestLength tiene 1048576 KILOBYTES, y maxAllowedContentLength tiene 1073741824 BYTES.

Sé que es obvio, pero es fácil pasar por alto.


499
2017-09-19 13:45



Vale la pena señalar que es posible que desee limitar este cambio a la URL que espera que se use para la carga en lugar de su sitio completo.

<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>

168
2018-05-06 16:57



Y solo en caso de que alguien esté buscando una forma de manejar esta excepción y mostrarle una explicación significativa al usuario (algo como "estás cargando un archivo que es demasiado grande"):

//Global.asax
private void Application_Error(object sender, EventArgs e)
{
    var ex = Server.GetLastError();
    var httpException = ex as HttpException ?? ex.InnerException as HttpException;
    if(httpException == null) return;

    if(httpException.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge)
    {
        //handle the error
        Response.Write("Too big a file, dude"); //for example
    }
}

(Se requiere ASP.NET 4 o posterior)


34
2018-05-23 19:58



El tamaño máximo de solicitud es, de forma predeterminada, 4mb (4096 KB)

Esto se explica aquí: http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626

El artículo anterior también explica cómo solucionar este problema :)


24
2017-10-04 08:51



Hay un elemento en web.config para configurar el tamaño máximo del archivo cargado:

<httpRuntime 
    maxRequestLength="1048576"
  />

17
2017-10-04 08:52



maxRequestLength (longitud en KB) Aquí como ex. Tomé 1024 (1MB)    maxAllowedContentLength (longitud en Bytes) debe ser igual que su maxRequestLength (1048576 bytes = 1MB).

<system.web>
   <httpRuntime maxRequestLength="1024"
             executionTimeout="3600" />
   <compilation debug="true"/>
</system.web>

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

6
2017-12-04 09:07