2016-08-08 866 views
0

im mit html-pdf Paket für Knoten und ich muss die Datei als Antwort senden. dies ist mein eigentlicher Code auf die pdf.create FunktionSenden binäre pdf-Datei mit express

pdf.create(html, options).toStream((err, stream) => { 
    if(err) throw err; 
    stream.pipe(fs.createWriteStream(__dirname + '/gen.pdf')); 


    var file = fs.createReadStream(__dirname + '/gen.pdf'); 
    //file.pipe(res); 

    res.setHeader('Content-Type', 'application/pdf'); 
    res.setHeader('Content-Disposition', 'attachment; filename="gen.pdf"'); 
    res.sendFile(__dirname+'/gen.pdf'); 
}); 

Antwort

0

Warum auf die Antwort direkt einfach nicht streamen? Zum Beispiel:

pdf.create(html, options).toStream((err, stream) => { 
    if (err) throw err; 
    res.setHeader('Content-Type', 'application/pdf'); 
    res.setHeader('Content-Disposition', 'attachment; filename="gen.pdf"'); 
    stream.pipe(res); 
}); 
+0

Ich teste mit ** postman ** (Chrome App) und ich bekomme eine TXT-Datei namens _response.pdf.pdf_ –