在React端下載時,如何將緩衝區轉換為文件
P粉006847750
P粉006847750 2023-09-01 23:23:15
0
1
615
<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>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板