2016-09-21 4 views
0

Ich habe einen Node Express Server, der eine Binärdatei (pdf) vom Client erhält. Ich muss die Binärdatei so wie sie ist an ein Java-Servlet senden. Ich verwende den folgenden Code, um dies zu tun (mit Request-Modul: https://www.npmjs.com/package/request).Von Knoten Upload binär zu J2ee und bekomme eine Antwort

var req = require('request'); 
function upload(request, response) { 
    var options = { 
     headers: { 
     "header1": "1" 
     } 
    }; 
//Also sending headers to j2ee/servlet 
var target = req.post('http://'+servlethost+':'+servletport+'/myapp/Upload', options); 
    var servletResponse = request.pipe(target); 
} 

Sobald die Datei in das Servlet hochgeladen wurde, legt das Servlet eine Antwort und einige Antwortheader fest.

Ich hatte gehofft, dass ServletResponse Variable in Knoten würde die Antwort von der Servlet, zusammen mit den Kopfzeilen von Servlet gesetzt, aber das ist nicht der Fall. Wenn ich ServletReponse drucke, scheint es nur das Anfrageobjekt zu sein.

Wie bekomme ich Zugriff auf die Antwort von Servlet innerhalb Node gesendet?

Antwort

0

Sie können es durch res.headers erhalten, nachdem Antwort von Ihrem bekommen servlet

Versuchen Sie, diese

var req = require('request'); 
function upload(request, response) { 
    var options = { 
     headers: { 
     "header1": "1" 
     } 
    }; 
//Also sending headers to j2ee/servlet 
req.post('http://'+servlethost+':'+servletport+'/myapp/Upload', options,function(err,res,body){ 
console.log(res.headers); 
console.log(body); 
}); 
} 
+0

Kann ich noch die binären Daten-Pipe und senden, dass an das Servlet? – kayasa

+0

Sie erhalten die Antwort, die von 'servlet' in' body' gesendet wird – abdulbarik