how to download pdf using NodeJS and send it to the client? how to download pdf using NodeJS and send it to the client? express express

how to download pdf using NodeJS and send it to the client?


i found the solution :

exports.sendPdf = function(req, res) {  var donneRecu = req.body;  console.log(donneRecu['lien']);  var url = donneRecu['lien']; //pdf link  http.get(url, function(response) {      var chunks = [];      response.on('data', function(chunk) {          console.log('downloading');          chunks.push(chunk);      });      response.on("end", function() {          console.log('downloaded');          var jsfile = new Buffer.concat(chunks).toString('base64');          console.log('converted to base64');          res.header("Access-Control-Allow-Origin", "*");          res.header("Access-Control-Allow-Headers", "X-Requested-With");          res.header('content-type', 'application/pdf');          res.send(jsfile);      });  }).on("error", function() {      callback(null);  }); }

next in my angular controller:

var pdf = $scope.base64ToUint8Array(data);    PDFJS.getDocument(pdf).then(functiongetPdfHelloWorld(_pdfDoc) {$scope.pdfDoc = _pdfDoc;$scope.renderPage($scope.pageNum); });


I too faced the same situation and the below code helped me.

var fs = require("fs");var file = fs.createReadStream('./public/modules/datacollectors/output.pdf');    var stat = fs.statSync('./public/modules/datacollectors/output.pdf');    res.setHeader('Content-Length', stat.size);    res.setHeader('Content-Type', 'application/pdf');    res.setHeader('Content-Disposition', 'attachment; filename=quote.pdf');    file.pipe(res);

Hope it helps.