Maison  >  Questions et réponses  >  le corps du texte

Comment convertir le tampon en fichier lors du téléchargement côté React

<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粉006847750P粉006847750434 Il y a quelques jours573

répondre à tous(1)je répondrai

  • P粉020556231

    P粉0205562312023-09-02 19:51:17

    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>

    répondre
    0
  • Annulerrépondre