185
rated 0 times
[
187]
[
2]
/ answers: 1 / hits: 42293
/ 10 Years ago, tue, march 4, 2014, 12:00:00
I am trying to download a PDF file using NodeJS then send its data to client to be embedded in the page. Here is how I download the PDF file:
exports.sendPdf = function(req, responce) {
var donneRecu = req.body;
var url = 'http://www.ieee.org/documents/ieeecopyrightform.pdf'//pdf link
http.get(url, function(res) {
var data = '';
res.on('data', function(chunk) {
console.log('downloading');
data += chunk;
});
res.on(end, function() {
console.log('downloaded');
responce.header(Access-Control-Allow-Origin, *);
responce.header(Access-Control-Allow-Headers, X-Requested-With);
responce.header(200, {'content-type' : 'application/pdf'});
responce.send(data);
});
}).on(error, function() {
callback(null);
});
}
How do I send the data received from NodeJS to the client side?
EDIT
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); });
More From » node.js