扫码关注官方订阅号
我正在使用https://www.npmjs.com/package/convert-html-to-pdf来在nodejs中将html转换为pdf。我有一个react前端和nodejs后端。我想将缓冲区转换为一个文件,以便在react端供用户下载。我应该如何做?我不想在我的服务器上保存文件。
我们可以设置头部 Content-disposition attachment 来指示响应是一个可下载的文件。
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 将无法工作。我们必须使用一个表单:
window.open
<form action="http://localhost:8000" method="POST"> <button type="submit">下载</button> </form>
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我们可以设置头部
Content-dispositionattachment来指示响应是一个可下载的文件。后端: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将无法工作。我们必须使用一个表单: