2016-04-03 86 views
0

发送表单数据到Java服务器我有一个使用axios发出请求到节点服务器这反过来又使请求另一Java服务器的应用程序。通过节点中间人

呼叫到节点服务器从客户端:

// here payload is FormData() 
axios.post(url, payload).then((response) => { 
    return callback(null, response); 
}).catch((err) => { 
    return callback(err, null); 
}); 

在节点服务器,我听使用请求busboy

let rawData = ''; 
const busboy = new Busboy({headers: req.headers}); 

busboy.on('file', function (fieldname, file, filename, encoding, mimetype) { 
    file.on('data', function (chunk) { 
     rawData += chunk; 
    }); 
}); 

现在Java服务器也期望FormData(就像我发送给节点的方式一样)。我现在如何从节点获取FormData?我一直在努力地努力,并且徒劳地尝试了很多东西。任何不涉及busboy的解决方案也将有所帮助。

+0

它是什么* Java *或* JavaScript *?代码看起来后者给我... – webeno

回答

0

我终于使用了中间件busboy-body-parser,它增加了从请求对象获取文件的支持,如req.files。一旦文件存在,我将它作为表单数据发送到使用form-data npm软件包的java web服务器。 req.files支持曾被默认为Express.js。但是从4.x开始,它已经是deprecated

Multer是另一个非常好的中间件,用于处理multipart/form-data