2009-03-30 25 views
7

Deseo crear una aplicación web ASP.NET que permita cargar archivos de hasta 4 GB. ¿Cómo puedo lograr eso? Preferiría algo así como un administrador de "Descarga" donde pueda reanudar, pausar, etc. ...Carga de archivos de más de 4 GB

¿Es esto posible? Si es así, ¿dónde debería comenzar? Creo que asp.net tiene un límite de carga de 4 MB o algo así? No estoy muy seguro ...

Por favor consejo.

Saludos

Respuesta

1

Puede hacer archivos de hasta 4 GB con ASP.NET utilizando una solución de terceros que anula la verificación de solicitud incorporada. Esto funcionará en todas las versiones de IIS, excepto en el modo integrado IIS 7, que tiene un límite de 2 GB.

La mayoría de los cargadores no tienen la capacidad de pausa/reanudación, por lo que puede que no tenga suerte allí. Google y vea lo que puede encontrar. Probablemente tengas que utilizar Java o ActiveX para obtener esta funcionalidad.

comenzar enchufe

Soy el autor de SlickUpload, uno de los primeros cargadores ASP.NET - soporta archivos de hasta 4 GB. No tenemos compatibilidad con Flash, Silverlight o Java, pero actualmente tenemos la mejor experiencia con AJAX, y las interfaces de applet enriquecidas están disponibles en futuras versiones.

+0

¿Puedo subir varios archivos con SlickUpload? – Imageree

+0

Imageree: puede cargar varios archivos con este control, pero solo puede seleccionar 1 a la vez. Entonces, para subir 5 archivos, debe hacer cinco selecciones. Si desea realizar una carga de selección múltiple desde un solo cuadro de diálogo, debe buscar en Flash, Java o Silverlight. – pearcewg

+0

Pruebe la última versión de SlickUpload. La versión 6 agrega la selección de múltiples archivos y el soporte de arrastrar/soltar para los navegadores que lo admiten, utilizando la API de archivos HTML5. Actualmente, se trata de versiones recientes de Chrome, Firefox y Safari. IE 9 no es compatible con File API, pero parece que IE 10 lo hará. –

0

El límite de carga de archivos suele estar regido por un archivo de configuración del servidor. Lo siento, soy un tipo PHP, por lo que no estoy seguro de asp.net, pero para nuestro servidor tenemos un archivo php.ini con el upload_max_filesize que establece el tamaño total permitido.

Para el administrador de carga, es probable que necesite algo creado con java net beans, un complemento basado en Java que puede adquirir o swfuploader.

Hemos utilizado swfuploader con mucho éxito en muchos sitios.

1

Siempre puede implementar cargas de archivos usted mismo, realmente no es tan difícil si la utilidad .NET tiene algún límite codificado (aunque realmente no debería).

En cuanto a algún tipo de administrador de "carga" que puede reanudar, etc., eso simplemente no es posible ya que requiere cooperación con el cliente, y la funcionalidad moderna de carga de navegadores simplemente no es "inteligente".

Es posible que pueda crear un pequeño Applet Java que pueda incrustar en su página para manejar el lado del cliente de la conversación, pero deberá firmarlo, y también necesitará una lógica de servidor personalizada para manejar el back-end.

+0

En lugar de Java, por supuesto, también puede usar Flash o Silverlight, pero en esencia tiene razón: el archivo debe administrarse en el lado del cliente y solo se deben cargar segmentos. –

1

Además de los límites del servidor, los navegadores también limitan el tamaño de un archivo que se puede enviar en un POST (ligeramente desactualizado: http://www.motobit.com/help/scptutl/pa98.htm). Esta es la razón por la cual muchos implementan una solución basada en Flash o Java que puede realizar la carga "fuera de banda" utilizando un conducto directo al servidor, por así decirlo.

3

Es probable que desee utilizar un componente de terceros para hacer esto.

Tiene razón en que, de forma predeterminada, el control de carga de archivos estándar no permitirá nada más allá de 4MB. Puede cambiar ese valor utilizando el atributo maxRequestLength de la sección de configuración httpRuntime en web.config. También necesitaría cambiar el atributo executionTimeout. Ver here para más información.

¿Pero hasta 4 GB? Dudo que tengas mucho éxito con un control de carga de archivos estándar. Si la conexión se cae, todo habrá terminado y tendrán que comenzar de nuevo. Probablemente desee algo que pueda mantener la conexión y proporcionar una barra de progreso y similares.

Echa un vistazo a productos como FileUp o EasyAlgo. Una búsqueda en Google debería encontrarlo en abundancia.

0

en filemail.com han utilizado un cliente Flex aunque el sitio se basa en asp.net. Entonces, en general, creo que "todos" usan un tipo de cliente activo x para esta tarea.

1

El límite en .NET 2.0 es de 2 GB.

Si es 3.5, considere esto en su web.config, si tiene uno.se establece el tamaño máximo del archivo y el tiempo de espera:

<httpRuntime maxRequestLength="4194304" executionTimeout="2400"/> 

Por supuesto, la posibilidad de subir archivos a un sitio web puede ser peligroso si no está caustious, así como los otros carteles, considerar el uso de una ya existente probada uno, al menos a aprende todas las advertencias. Buena suerte.

Cuestiones relacionadas