在React端下载时,如何将缓冲区转换为文件
P粉006847750
P粉006847750 2023-09-01 23:23:15
0
1
614
<p>我正在使用<a href="https://www.npmjs.com/package/convert-html-to-pdf">https://www.npmjs.com/package/convert-html-to-pdf</a>来在nodejs中将html转换为pdf。我有一个react前端和nodejs后端。我想将缓冲区转换为一个文件,以便在react端供用户下载。我应该如何做?我不想在我的服务器上保存文件。</p>
P粉006847750
P粉006847750

全部回复(1)
P粉020556231

我们可以设置头部 Content-disposition attachment 来指示响应是一个可下载的文件。

后端:Express示例

const htmlToPDF = new HTMLToPDF(`
  <div>Hello world</div>
`);

const buffer = await htmlToPDF.convert();

res.set("Content-Disposition", `attachment; filename="test.pdf"`);
res.set("Content-Type", "application/pdf");

res.send(buffer);

前端:React示例

const submit = () => {
  window.open("http://localhost:8000"); // 在此处填写您的端点
};

return (
  <button onClick={submit}>下载</button>
);

如果端点是POST方法,则 window.open 将无法工作。我们必须使用一个表单:

<form action="http://localhost:8000" method="POST">
  <button type="submit">下载</button>
</form>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板