Comment convertir le tampon en fichier lors du téléchargement côté React
P粉006847750
P粉006847750 2023-09-01 23:23:15
0
1
612
<p>J'utilise<a href="https://www.npmjs.com/package/convert-html-to-pdf">https://www.npmjs.com/package/convert-html -to-pdf</a> pour convertir du HTML en pdf dans nodejs. J'ai un frontend React et un backend nodejs. Je souhaite convertir le tampon en un fichier à télécharger par l'utilisateur du côté réaction. Que dois-je faire? Je ne veux pas enregistrer le fichier sur mon serveur. </p>
P粉006847750
P粉006847750

répondre à tous(1)
P粉020556231

Nous pouvons définir l'en-tête Content-disposition attachment pour indiquer que la réponse est un fichier téléchargeable.

Backend : exemple 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);

Frontend : exemple de réaction

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

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

Si le point final est une méthode POST, window.open ne fonctionnera pas. Nous devons utiliser un formulaire :

<form action="http://localhost:8000" method="POST">
  <button type="submit">下载</button>
</form>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal