【发布时间】:2015-07-24 14:55:54
【问题描述】:
我尝试使用 Express 返回一些二进制数据。在示例中,它是 PDF,但理论上,它可以是任何类型的文件。
但现在只关注 pdf。我写了这段代码:
app.get('*', function (req, res) {
getBinaryData(req.url,
function (answer) {
res.type('pdf');
res.end(new Buffer(answer, 'binary'));
},
function (error) {
res.setHeader('Content-Type', 'text/plain');
return res.end(error);
}
);
});
根据我在这里看到的:https://github.com/strongloop/express/issues/1555
但是,我得到了一个页数正确的 pdf 文件,正确的标题....但是所有页面都是空白的
我很担心 getBinaryData() 的返回,因为这个函数请求了一个外部 Web 服务,当我直接请求这个服务时,我得到了正确的文档。
提前感谢您的回答
【问题讨论】:
-
为什么不用
res.sendFile方法? -
因为我没有该文件:我从另一个 WebService 获取此二进制内容。最终,我可以创建一个临时文件并使用 sendFile...
标签: node.js pdf express binary