Bagaimana untuk menukar penimbal kepada fail apabila memuat turun di sebelah React
P粉006847750
P粉006847750 2023-09-01 23:23:15
0
1
587
<p>Saya menggunakan<a href="https://www.npmjs.com/package/convert-html-to-pdf">https://www.npmjs.com/package/convert-html -ke-pdf</a> untuk menukar html kepada pdf dalam nodejs. Saya mempunyai bahagian hadapan tindak balas dan hujung belakang nodejs. Saya ingin menukar penimbal menjadi fail untuk dimuat turun oleh pengguna di bahagian tindak balas. Apa patut saya buat? Saya tidak mahu menyimpan fail pada pelayan saya. </p>
P粉006847750
P粉006847750

membalas semua(1)
P粉020556231

Kami boleh menetapkan pengepala Content-disposition attachment untuk menunjukkan bahawa respons ialah fail yang boleh dimuat turun.

Belakang: Contoh Ekspres

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);

Frontend: Contoh Reaksi

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

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

Jika titik akhir adalah kaedah POST, window.open tidak akan berfungsi. Kita perlu menggunakan borang:

<form action="http://localhost:8000" method="POST">
  <button type="submit">下载</button>
</form>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan