【问题标题】:Sending form-data to Java server through a Node middleman通过 Node 中间人将表单数据发送到 Java 服务器
【发布时间】:2016-04-03 21:09:09
【问题描述】:

我有一个应用程序,它使用 axiosnode 服务器 发出请求,而后者又向另一个 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 的解决方案也会有所帮助。

【问题讨论】:

  • 那么是 Java 还是 JavaScript?代码在我看来是后者...

标签: javascript node.js multipartform-data java-server busboy


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多