2012-09-10 14 views
6

Así que esta es mi configuraciónNode.js - archivo de flujo sin guardar temporalmente

Tengo un cliente desde el que se cargan los archivos al servidor Node.js (servidorA) y desde allí Quiero transmitir los archivos de otro servidor (servidorB) sin guardando el archivo temporalmente (en el servidor A).

¿Cuál es la forma más simple y mejor para lograr esto?

Puedo subir el archivo al servidor A pero no quiero que se guarde el archivo temporal.

Actualización:

su uplaod un simple archivo de Ajax a (Severa) ... La idea es transferir byte a byte de modo que incluso si la conexión se apaga, se puede leer de nuevo de esa particular byte.

Estoy usando express.js en serverA y backbone.js es el cliente con el que hago las cargas ajax. Por ahora no hay conexión entre A y B como tal, se comunican a través de puntos finales. serverA se está ejecutando en el puerto 4000 y serverB en el puerto 5000. Quiero de alguna manera canalizar el archivo del servidor A a un punto final en el servidorB.

+0

¿Cómo está obteniendo ese archivo? ¿Cómo estás empujando el archivo? ¿Qué haces en caso de problemas de conexión? – Brad

+0

es un archivo ajax simple uplaod a (severA) ... La idea es la transferencia de bytes para que incluso si la conexión se desconecta, puede leerla desde ese byte en particular. – Madhusudhan

+0

¿Puede agregar más detalles? Entonces, ¿su aplicación Node.js en el Servidor A está usando qué alojar este script AJAX? ¿El servidor http incorporado? ¿Qué pasa con el servidor B? ¿Qué estás usando para la conexión entre los dos? – Brad

Respuesta

2

Desde HttpRequest es una corriente, se podría utilizar el módulo request a la tubería de la solicitud actual en el otro extremo dentro de su ruta expresa:

app.post('myroute', function (req, res) { 
    var request = require('request'); 
    req.pipe(request.post('/my/path:5000')).pipe(res); 
}); 

¿Eso funcionaría enfoque?

+0

Sí, utilicé el mismo enfoque. Como también tenía que enviar el rango de contenido y la longitud del contenido, quité el fs.write del nodo formidable y lo reemplacé con res.write en el servidor B ... – Madhusudhan

Cuestiones relacionadas