2016-04-29 5 views
0

Ich möchte Serving-Datei (mit NodeJS und HapiJS) ohne Speichern im Dateisystem.HapiJS Serving-Datei

Ich habe zwei Server. Ich muss statischen Inhalt von Server2 zu Client über Server1 bereitstellen. So , wenn der Client auf meinem Weg gehen, ich mache einen Anruf in server1 zu server2 für Datei in server1 Speichern und antworten mit ihm

ich eine Anfrage an einen Server wie folgt machen:

var options = { 
    uri: 'http://192.168.11.101:8080' + req_path, 
    headers: { 
     Cookie: jCookie 
    } 
}; 
var full_name = '/tmp/test.' + format; 

var stream = httpRequest(options).pipe(fs.createWriteStream(full_name)); 

In diesem Moment Datei wurde gespeichert und ich kann damit antworten.

Ich möchte direkt antworten, ohne in meinem Dateisystem zu speichern, ist es möglich?

+0

Was meinst du, ohne in Dateisystem zu speichern? Woher kommt die Datei? An wen schicken Sie es? Deine Frage ist nicht sehr klar. –

+0

Jetzt ist es klarer @MattHarrison – Davide

+0

Sie wollen es als Proxy verwenden? – Clarkie

Antwort

0

Sie können den folgenden Code verwenden, um als Stream zu senden, anstatt die Datei zu speichern. Dies ist hilfreich für Sie.

let stream = fs.createReadStream(httpRequest(options)); 
     stream.on('data', function(data) 
     { 
     console.log(data); 
     console.log('loaded part of the file'); 
     //reply(null,data); 
     reply(data).header('Content-Type', 'file content type').header('Content-Disposition', 'attachment; filename=ex.txt'); 
     }); 
     stream.on('end', function() 
     { 
     console.log('file send sucessfully'); 
     });