【问题标题】:Blank PDF with Express Request带有快速请求的空白 PDF
【发布时间】:2020-01-29 21:03:21
【问题描述】:

在浏览器中查看时我得到一个空白 pdf 并且请求有效,因为每次我搜索不同的 pdf (localhost:3001/sample.pdf) 时,页码都会发生变化,我看到很多关于此的问题和我已经尝试了他们所有的建议(base64 的东西,Buffer.from 的东西,内容类型的 app/pdf 的东西),仍然没有得到它的工作。

app.get('/:file', function(req, res) {
    request('http://host/path/' + req.params.file, function(error, response, body) {
       res.end(body);
    });    
}).listen(port);

请指点我正确的方向!

【问题讨论】:

  • 如果您尝试向客户端发送 PDF 文件,res.end(data) 不正确。您需要发送浏览器可以理解的内容。这可能是 PDF 文件的特定内容类型,然后是正确编码的 PDF 数据,而不是原始数据。在这种情况下,您可能可以直接从request() 流式传输到res(例如,直接将您收到的响应转发给客户端),因为其他一些服务器已经为您正确格式化了它。

标签: node.js express node-request


【解决方案1】:

您没有发送正确定义的响应,该响应具有正确的标头、内容类型和匹配的编码数据。由于您从中获取 PDF 的服务器已经为您完成了这项工作,我建议您直接 .pipe() 回复。

app.get('/:file', function(req, res) {
    request('http://host/path/' + req.params.file).pipe(res);    
}).listen(port);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2019-06-13
    • 2016-05-28
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 2018-07-10
    相关资源
    最近更新 更多