propiedades net mvc fileupload files example control aspx asp c# .net asp.net file-upload

c# - mvc - upload file asp.net vb



¿Cómo aumentar el tamaño máximo del archivo de carga en ASP.NET? (14)

Creo que esta línea en web.config establecerá el tamaño máximo de carga:

<system.web> <httpRuntime maxRequestLength="600000"/> </system.web>

Tengo un formulario que exceptúa una carga de archivos en ASP.NET. Necesito aumentar el tamaño máximo de carga por encima del valor predeterminado de 4 MB.

He encontrado en ciertos lugares que hacen referencia al siguiente código en msdn .

[ConfigurationPropertyAttribute("maxRequestLength", DefaultValue = )]

Ninguna de las referencias describe realmente cómo usarlo, y he intentado varias cosas sin éxito. Solo quiero modificar este atributo para ciertas páginas que solicitan la carga de archivos.

¿Es esta la ruta correcta a tomar? ¿Y cómo uso esto?


El tamaño máximo del archivo se puede restringir a un solo controlador MVC o incluso a una acción.
La etiqueta web.config <ubicación> se puede usar para esto:

<location path="YourAreaName/YourControllerName>/YourActionName>"> <system.web> <!-- 15MB maxRequestLength for asp.net, in KB 15360 --> <httpRuntime maxRequestLength="15360" /> </system.web> <system.webServer> <security> <requestFiltering> <!-- 15MB maxAllowedContentLength, for IIS, in bytes 15728640 --> <requestLimits maxAllowedContentLength="15728640" /> </requestFiltering> </security> </system.webServer> </location>

O puede agregar estas entradas en el propio web.config del área.


Esta configuración va en su archivo web.config. Sin embargo, afecta a toda la aplicación ... No creo que pueda configurarlo por página.

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

"xxx" está en KB. El valor predeterminado es 4096 (= 4 MB).


Para IIS 7+, además de agregar la configuración httpRuntime maxRequestLength, también debe agregar:

<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="52428800" /> <!--50MB--> </requestFiltering> </security> </system.webServer>

O en IIS (7):

  • Seleccione el sitio web que desea habilitar para aceptar cargas de archivos grandes.
  • En la ventana principal haga doble clic en ''Solicitar filtrado''
  • Seleccione "Editar configuración de funciones"
  • Modificar la "Longitud máxima permitida de contenido (bytes)"

Para aumentar el límite de tamaño de carga del archivo tenemos dos formas

1. IIS6 o inferior

De forma predeterminada, en ASP.Net, el tamaño máximo de un archivo que se cargará en el servidor es de aproximadamente 4 MB . Este valor se puede aumentar modificando el atributo maxRequestLength en web.config .

Recuerde: maxRequestLenght está en KB

Ejemplo : si desea restringir las cargas a 15MB, configure maxRequestLength en “15360” (15 x 1024).

<system.web> <!-- maxRequestLength for asp.net, in KB --> <httpRuntime maxRequestLength="15360" ></httpRuntime> </system.web>

2. IIS7 o superior

Una forma ligeramente diferente que se utiliza aquí para cargar archivos. IIS7 ha introducido un módulo de filtrado de solicitudes. Lo que se ejecuta antes de ASP.Net. Significa que el funcionamiento de la canalización es que el valor IIS ( maxAllowedContentLength ) se verifique primero y luego se verifique el valor ASP.NET ( maxRequestLength ). El atributo maxAllowedContentLength tiene un valor predeterminado de 28.61 MB . Este valor puede aumentarse modificando ambos atributos en el mismo web.config .

Recuerde: maxAllowedContentLength está en bytes

Ejemplo : si desea restringir las cargas a 15MB, configure maxRequestLength en “15360” y maxAllowedContentLength en "15728640" (15 x 1024 x 1024).

<system.web> <!-- maxRequestLength for asp.net, in KB --> <httpRuntime maxRequestLength="15360" ></httpRuntime> </system.web> <system.webServer> <security> <requestFiltering> <!-- maxAllowedContentLength, for IIS, in bytes --> <requestLimits maxAllowedContentLength="15728640" ></requestLimits> </requestFiltering> </security> </system.webServer>

Enlace de referencia de MSDN : https://msdn.microsoft.com/en-us/library/e1f13641(VS.80).aspx


Puede escribir ese bloque de código en el archivo web.config de su aplicación.

<httpRuntime maxRequestLength="2048576000" /> <sessionState timeout="3600" />

Al escribir ese código puedes subir un archivo más grande que ahora


Sé que es una vieja pregunta.

Así que esto es lo que tienes que hacer:

En su archivo web.config, agregue esto en:

<!-- 3GB Files / in kilobyte (3072*1024) --> <httpRuntime targetFramework="4.5" maxRequestLength="3145728"/>

y esto bajo

<security> <requestFiltering> <!-- 3GB Files / in byte (3072*1024*1024) --> <requestLimits maxAllowedContentLength="3221225472" /> </requestFiltering> </security>

Usted ve en el comentario cómo funciona esto. En una necesitas tener el sie en bytes y en la otra en kilobytes. Espero que ayude.


Si es Windows 2003 / IIS 6.0, verifique AspMaxRequestEntityAllowed = "204800" en el archivo metabase.xml ubicado en la carpeta C: / windows / system32 / inetsrv /

El valor predeterminado de "204800" (~ 205Kb) es, en mi opinión, demasiado bajo para la mayoría de los usuarios. Solo cambia el valor a lo que crees que debe ser max.

Si no puede guardar el archivo después de editarlo, debe detener el servidor ISS o habilitar el servidor para permitir la edición del archivo:

texto alternativo http://blogs.itmaskinen.se/image.axd?picture=WindowsLiveWriter/Request.BinaryReadFailedwindows2003IIS.0_BC5A/image_2.png

Edición: no leí la pregunta correcta (cómo configurar maxrequest en webconfig). Pero esta información puede ser de interés para otras personas, muchas personas que trasladan sus sitios del servidor win2000 al win2003 y tenían una función de carga que funcionaba y de repente obtuvieron el error de Request.BinaryRead Failed , tendrán uso de la misma. Así que os dejo la respuesta aquí.


Si está utilizando Framework 4.6

<httpRuntime targetFramework="4.6.1" requestValidationMode="2.0" maxRequestLength="10485760" />


Si funciona en su máquina local y no funciona después de la implementación en IIS (usé Windows Server 2008 R2), tengo una solución.

Abra IIS (inetmgr) Vaya a su sitio web En el lado derecho, vaya a Contenido (Solicitar filtrado) Vaya a Editar configuración de funciones. Cambie el tamaño máximo de contenido como (Bytes que requiere) Esto funcionará. También puede obtener ayuda del siguiente hilo http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits


Si usa sharepoint, también debe configurar el tamaño máximo con Herramientas administrativas: kb925083


Tengo el mismo problema en un servidor IIS ganador 2008, resolví el problema agregando esta configuración en el web.config:

<system.web> <httpRuntime executionTimeout="3600" maxRequestLength="102400" appRequestQueueLimit="100" requestValidationMode="2.0" requestLengthDiskThreshold="10024000"/> </system.web>

El requestLengthDiskThreshold por defecto es 80000 bytes, por lo que es demasiado pequeño para mi aplicación. requestLengthDiskThreshold se mide en bytes y maxRequestLength se expresa en Kbytes.

El problema está presente si la aplicación está utilizando un componente del servidor System.Web.UI.HtmlControls.HtmlInputFile . El aumento del requestLengthDiskThreshold es necesario para resolverlo.


Tengo una publicación en el blog sobre cómo aumentar el tamaño del archivo para el control de carga asp .

Desde el post:

De forma predeterminada, el control FileUpload permite cargar un máximo de 4 MB de archivos y el tiempo de espera de ejecución es de 110 segundos. Estas propiedades se pueden cambiar desde la sección httpRuntime del archivo web.config. La propiedad maxRequestLength determina el tamaño máximo de archivo que se puede cargar. La propiedadecutionTimeout determina el tiempo máximo para la ejecución.


para un límite máximo de 2 Gb, en su aplicación web.config:

<system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="1600" requestLengthDiskThreshold="2147483647" /> </system.web> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483647" /> </requestFiltering> </security> </system.webServer>