小编Mat*_*eus的帖子

NodeJS - 如何从 Base64 返回 PDF 而不将文件保存在服务器上?

这是我的场景:

  • 我有一个使用 Express 在 Node 中构建的应用程序;
  • 我有一个返回 Base64 PDF 文件的外部 API;
  • 我必须获取这个 Base64 并为用户打开该文件;
  • 我无法将 PDF 保存到服务器上。

我尝试了很多方法,但无法向用户打开该文件。

我尝试过的方法:

const buff = Buffer.from(myBase64, 'base64');
const file = fs.writeFileSync('boleto.pdf', buff, { encoding: 'base64' });

try {
  res.setHeader('Content-Length', file.size);
  res.setHeader('Content-Type', 'application/pdf');
  res.setHeader('Content-Disposition', 'attachment; filename=boleto.pdf');
} catch (e) {
  return res.status(404).send({ error: e, message: 'File does not exist.', statusCode: 404 });
}
Run Code Online (Sandbox Code Playgroud)
const buff = Buffer.from(myBase64, 'base64');
const file = fs.writeFileSync('boleto.pdf', buff, { encoding: 'base64' });

try {
  res.contentType('application/pdf');
  return res.status(200).sendFile('boleto');
} catch …
Run Code Online (Sandbox Code Playgroud)

pdf file fs node.js

8
推荐指数
1
解决办法
9551
查看次数

标签 统计

file ×1

fs ×1

node.js ×1

pdf ×1