2009-12-30 17 views
6

este es un tema bastante difícil en todas las cuentas. Estoy construyendo un sitio web que requiere que los usuarios carguen grandes (multi-GB). ¿Cuál es la mejor manera de permitir a los usuarios cargar un archivo en un sitio web y permitir que se reanude la carga del archivo si falla? ¿Cuál es la forma de escribir esto en rieles?Carga de archivos con la capacidad de reanudar (preferiblemente en Ruby on Rails)

Cualquier idea muy apreciada.

Max.

+0

No conozco ningún navegador que permita la reanudación de cargas interrumpidas. Dado que, esta pregunta puede ser mucho más difícil de lo que piensas responder. Tal vez un complemento o flash es la respuesta. – Clueless

Respuesta

4

Ningún navegador es compatible con la reanudación de las cargas.

De mi Google, Flash no parece, tampoco.

Aunque no sé lo suficiente sobre Java como para decir que es imposible, no parece haber ninguna solución de subida preinstalada que admita este método.

En resumen, tendría que codificar su propia solución de complemento/fuera-del-navegador. Si eso no es posible, puede que tenga que abandonar esta función. ¡Lo siento!

EDITAR: En realidad, después de utilizar una mejor consulta de búsqueda, aquí hay una solución de Java que parece soportar esto a través de la partición del archivo inicial: JumpLoader. Aquí está el documentation page for resuming downloads. ¡La mejor de las suertes! (Observará que hay enlaces de compra, esto es solo para una versión sin marca, y para el código fuente. Puede usar la versión de la marca JumpLoader gratis.)

1

Ningún navegador admite esto, de hecho esto no puede ser hecho a través de HTTP.

Usted tendrá que escribir su propio java applet de, ActiveX control o aplicación de explorador WPF para lograr esto. Algo de esto se dirigirá a un servidor TCP que escuche en el lado del servidor para lograr la pausa y reanudar la carga del archivo.

1

Seis años desde que lo solicitó, pero para los futuros espectadores, eche un vistazo a ResumableJS. Utiliza HTML5 File API para dividir las cargas en fragmentos. También incluyen un RoR example para aceptar la carga.