我尝试通过流将图像上传到我的 Hapijs 服务器并将数据发送(管道)到另一个 Hapijs 实例。
所以我有这个帖子路由,它应该接收一个流并转发它:
this.server.route({
method: "POST",
path: RouteManager.Routes.SearchRoute.User.Icon.post,
config: {
payload: {
output: 'stream',
parse: true,
allow: 'multipart/form-data',
maxBytes: 4194304 //4MB
},
handler: (request, reply) => {
const data = request.payload.image;
const req = require("request").post("myOtherServer.com" + "/upload",
{
formData: {
image: data
}
}, (err, httpResp, body) => {
cb(err, JSON.parse(body));
});
}
}
})
我在另一台服务器上的路线如下所示:
this.hapi.route({
method: 'POST',
path: Routes.index.child.upload.post,
config: {
payload: {
output: 'stream',
parse: true,
allow: 'multipart/form-data',
maxBytes: 4194304 //4MB
}
}
},
handler: (request, reply) => {
this.workWithStream(request, reply);
}
});
当我运行代码时,我总是得到这个响应:
{
"statusCode": 400,
"error": "Bad Request",
"message": "Invalid multipart payload format"
}
如何将流转发到另一个 hapijs 服务器(不保存临时文件)?
谢谢