Heim  >  Fragen und Antworten  >  Hauptteil

So konvertieren Sie den Puffer beim Herunterladen auf der React-Seite in eine Datei

<p>Ich verwende<a href="https://www.npmjs.com/package/convert-html-to-pdf">https://www.npmjs.com/package/convert-html -to-pdf</a> zum Konvertieren von HTML in PDF in NodeJS. Ich habe ein React-Frontend und ein NodeJS-Backend. Ich möchte den Puffer in eine Datei konvertieren, die vom Benutzer auf der Reaktionsseite heruntergeladen werden kann. Was soll ich machen? Ich möchte die Datei nicht auf meinem Server speichern. </p>
P粉006847750P粉006847750434 Tage vor574

Antworte allen(1)Ich werde antworten

  • P粉020556231

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

    我们可以设置头部 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>

    Antwort
    0
  • StornierenAntwort