2011-12-06 18 views
5

Algo como el descrito en this MDN page, pero sin cargar el archivo en la memoria, es decir, me gustaría poder enviar el archivo en fragmentos usando streaming interfaz para que mi proceso de cliente sea independiente del tamaño del archivo. El archivo se selecciona utilizando un elemento invisible <input type=file>.Cargador de archivos JS con transmisión, es decir, sin cargar todo el archivo en la memoria

Es un problema del mundo real: mis usuarios subirán varios archivos a la vez, lo que puede ser lo suficientemente grande (y los dispositivos del cliente lo suficientemente limitados) como para preocuparse por el consumo de memoria. Al mismo tiempo, me gustaría ofrecer un buen cargador para el lado del cliente con indicación de progreso.

La interfaz FileReader no parece ser compatible con la transmisión, a menos que me falta algo por supuesto.

La solución debería funcionar en las últimas versiones de Safari, Chrome y Firefox, y si es posible también en IE9 (aunque probablemente haya pocas esperanzas). Editar: tampoco jQuery, solo código JavaScript.

+0

¿Encontró alguna solución para esto? Estoy considerando socket.io/WebSocket, sin embargo, el FileReader aún no puede transmitir. – bhantol

+0

Aparentemente puede transmitirlo http://stackoverflow.com/a/25813769/2103767 – bhantol

Respuesta

0

El único que sé que tiene todas esas capacidades (Carga de archivos múltiples, los contenidos de archivos subidos corriente, sube la barra de progreso, etc.), utiliza jQuery sin embargo, se llama jQuery de carga de archivos Plugin, aquí ir a la url:

http://blueimp.github.com/jQuery-File-Upload/

+0

Sí, ya lo vi, necesitamos ver las fuentes para entender cómo exactamente lo hacen. – mojuba

Cuestiones relacionadas