2010-06-02 9 views
9

Estoy buscando una manera de permitir que un usuario cargue un archivo grande (~ 1 gb) en mi servidor Unix usando una página web y un navegador.Navegador, cargue el archivo grande

Hay muchos ejemplos que ilustran cómo hacer esto con una solicitud posterior tradicional, sin embargo, esto no parece una buena idea cuando el archivo es tan grande.

Estoy buscando recomendaciones sobre el mejor enfoque.

Puntos de bonificación si el método incluye una forma de proporcionar información de progreso al usuario.

Por ahora, la seguridad no es una preocupación importante, ya que se puede confiar en la mayoría de los usuarios que utilizarán el servicio. También podemos suponer que la conexión entre el cliente y el host no se interrumpirá (o si es que deben comenzar de nuevo).

También podemos suponer que el usuario está ejecutando un navegador de apoyar la mayoría de las características modernas (JavaScript, Flash, etc.)

edición

No hay requisitos de idioma. Solo buscando la mejor solución.

Respuesta

4

Hay varias maneras de manejar esto,

1. Flash Uploader

Theres un montón de cargadores de flash para mejorar la interfaz gráfica de usuario a los usuarios para que puedan examinar el proceso y los factores de proceso tales como el tiempo que quedan, KB Hecho, etc.

Esto es muy bueno si entiende cómo mejorar el código fuente de Flash para desarrollos posteriores.

2. Ajax

Hay un par de maneras usando Ajax y PHP (PHP aunque no lo soporta), puede utilizar el módulo de Perl para lograr lo mismo http://pecl.php.net/package/uploadprogress, esto es sólo si desea mostrar información de porcentaje, etc.

3 Javascript básico.

Este método sería simplemente la forma regular, pero con algo de estilo Ajax por lo que cuando se envía el formulario que puede mostrar un cargador básico decir por favor, espere mientras nos envía el archivo ...

Si su uso de asp , puede echar un vistazo a: http://neatupload.codeplex.com/

Espero que haya algo de buena información para seguir su camino.

Saludos

Cuestiones relacionadas