How to allow a client to download a pdf file stored in a server using node.js.
Please, someone help me out with this code.
fs.readFile('temp/xml/user/username.pdf',function(error,data){
if(error){
res.json({'status':'error',msg:err});
}else{
res.json({'status':'ok',msg:err,data:data});
}
});
Express has 2 convenience methods available for sending files. The difference being:
Simply sending the file:
res.sendfile('temp/xml/user/username.pdf');
Or with Content-Disposition
to suggest saving to disk:
res.download('temp/sml/user/username.pdf');
Send the correct mime-type, and then the content of the pdf.
fs.readFile('temp/xml/user/username.pdf',function(error,data){
if(error){
res.json({'status':'error',msg:err});
}else{
res.writeHead(200, {"Content-Type": "application/pdf"});
res.write(data);
res.end();
}
});
I'm assuming res
is your response object.
Ah but you are using Express. Use Jonathan's answer instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With