2011-05-12 69 views
32

Tengo un socket.io cliente a quien socket.io servidor está escuchando en node.js. Quiero cargar un archivo al servidor por socket.io. porque mi cliente socket.io está bajo apache. y el servidor socket.io está en node.js. Quiero codificar la carga del archivo en node.js. Pero cómo puedo enviar los datos del archivo al node.js escuchando el socket.¿Puedo subir un archivo al servidor por socket.io en node.js?

He intentado subir un archivo usando el servidor node.js. Este enlace está aquí pero este código no usa el socket.io con esto. Pero mi proyecto original es usar el socket.io.

http://rahulmehta1.wordpress.com/2011/04/26/uploading-a-file-in-node-js-by-formidable/

¿Cómo puedo hacer esto con el servidor socket.io?

Respuesta

5

Aquí se muestra un ejemplo de enviar un archivo a través socket.io: http://liamkaufman.com/blog/2012/02/11/12-pushing-files-to-the-browser-using-deliveryjs-socketio-and-nodejs/

+0

El OP desea enviar un archivo al servidor, no al cliente como en este ejemplo. – Prestaul

+0

A ¿lees una pregunta antes de publicar tu ans? – Denis

+0

La biblioteca de ese ejemplo ([Delivery.js] (https://github.com/liamks/Delivery.js)) reclama soporte para transferencias de archivos bidireccionales. –

24

La respuesta comprobado es válido a partir del 3 2012 jul

Leer por sí mismo this tutorial on NetTuts. Este tutorial usa node.js y socket.io para cargar un archivo.

+0

¿Tiene alguna idea sobre el tamaño máximo de archivo que podemos cargar –

+1

Node/socket.io se basa en la secuencia, tómelo con un grano de sal, pero no debe haber límites. –

8

Aquí es un módulo de NPM escribí que implementará Socket.IO de carga de archivos en su aplicación:

Socket.IO File Upload

Todo lo que necesita para dar el módulo es su middleware, su zócalo, y la entrada de archivo o zona de colocación utilizada para cargar archivos. También guardará los archivos si le das un directorio. El módulo se ocupa del resto.

+0

@Github desplazarse hacia abajo, hay un ejemplo de trabajo. –

9

Escribí un módulo para este propósito.

socket.io-stream

+0

¿Tiene alguna idea de cómo hacer ios-client que lo usa, gracias. –

+0

El uso de esta biblioteca estaba bien hasta ahora, estoy usando la última versión de JSPM y ya no funciona. – calbertts

4

En mayo de 2014 con la liberación de la versión 1.0 de socket.IO, binary support has been added to the library.

Socket.IO ahora soporta emisor de Buffer (de Node.JS), Blob, ArrayBuffer e incluso de archivos, como parte de cualquier estructura de datos

Es todo debido a la baja api nivel que es proporcionada por el motor .io.

Cuestiones relacionadas