【问题标题】:Fastify - Sending a PDF from node.js serverFastify - 从 node.js 服务器发送 PDF
【发布时间】:2022-01-18 10:02:48
【问题描述】:

我有一个基于 node.js 和 Fastify 的 API。

服务器生成一个 PDF,然后我尝试通过 API 请求将其发送给客户端。然而,我在网络下的 Chrome 中看到的请求将类型显示为 XHR,尽管我已将内容类型设置为:

const fs = require('fs')
const stream = fs.createReadStream('../test.pdf', 'binary')
reply.header('Content-Type', 'application/pdf')
reply.send(stream).type('application/pdf').code(200)

在客户端,我只是发出一个简单的 POST 请求,并假设它是 PDF,浏览器只会下载它。

axios.post('http://127.0.0.1:8080/contract', requestBody)
.then((response: any) => {
   setIsSubmitting(false)
})
.catch((error: any) => {
   //TODO
});

(另外,我的另一个想法是这实际上是正确的发送方式,即使用fs.createReadStream - 它只是一个静态文件)。

任何想法我在上面做错了什么。

【问题讨论】:

    标签: node.js axios fastify


    【解决方案1】:

    我遇到了同样的问题。发现是fastify的问题,可以升级到最新(今天是3.27.2)。

    问题:https://github.com/fastify/fastify/issues/3283

    错误修复:https://github.com/fastify/fastify/pull/3285

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 2013-01-03
      • 1970-01-01
      • 2021-03-05
      • 2021-02-15
      • 1970-01-01
      相关资源
      最近更新 更多