2017-12-24 7 views
0

Ich habe eine Zeichenfolge templateString, die an eine Route in Express POSTED ist. Wie kann diese Zeichenfolge als HTML-Datei gestreamt und auf den Client heruntergeladen werden?Express: Streamen Sie einen HTML-Datei-Download von einer Zeichenfolge im Anfragetext

res.setHeader('Content-type', 'text/html'); 
res.setHeader('Content-disposition', `attachment; filename=${testname}.html`); 

^^ Dies wird den Browser zum Download zwingen.

Wie nehme ich die Zeichenfolge in der Anfrage und schicke sie in Form einer HTML-Datei an den Client?

Antwort

1

Ich denke, Sie können Buffer bilden die Zeichenfolge und senden Sie es über res.end Methode.

let file = Buffer.from('Your string', 'utf8'); 

res.writeHead(200, { 
    'Content-Type': 'text/html', 
    'Content-disposition': `attachment; filename=${testname}.html`, 
    'Content-Length': file.length 
}); 

res.end(file); 

können Sie mehr lesen über Bufferhere

0

einfach es herausgefunden .. Diese letzte einfache Linie scheint zu funktionieren ..

res.setHeader('Content-type', 'text/html'); 
res.setHeader('Content-disposition', `attachment; filename=${testname}.html`); 
res.end(req.body.templateString); 
Verwandte Themen