从Node上传二进制文件到J2ee并获得响应

时间:2016-09-21 10:01:44

标签: node.js servlets express httpresponse

我有一个Node express服务器,它从客户端接收二进制文件(pdf)。我需要将二进制文件原样发送到Java servlet。我使用以下代码执行此操作(使用请求模块:https://www.npmjs.com/package/request)。

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); 
}

将文件上传到servlet后,servlet会设置响应和一些响应标头。

我希望节点中的servletResponse变量能够获得servlet设置的响应,以及servlet设置的头部,但事实并非如此。当我打印servletReponse时,它似乎只是请求对象。

如何访问Node中Servlet发送的响应?

1 个答案:

答案 0 :(得分:0)

您可以在收到res.headers

的回复后servlet获取

试试这个

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);
});
}