Hi,
 
I need to generate and download pdf file on server in node js. I have created api for that. When i directly call api in browser, it works fine and download file but when I call file from axios post, it of my client side code, it is not downloding file. Following is my code. Please suggest.
  1. app.get("/getpdf/*"function (req, res) {  
  2. var query = "SELECT UserId,UserName,Password,UserType,Mobile,Status,Password1,Password2,Password3,replace(CONVERT(VARCHAR(10), DateCreated, 103),'01/01/1900','-') FROM AppUsers";  
  3. var fields = "User Id,Username,Password,Usertype,Mobile,Status,Password1,Password2,Password2,Created Date";  
  4. //GetPDF(res, query, fields);  
  5. GetCSV(res, query);  
  6. });  
  7. function GetPDF(res, qry, fields) {  
  8. var request = new sql.Request();  
  9. // query to the database and get the records  
  10. request.query(qry, function (err, result) {  
  11. if (err) {  
  12. console.log(err);  
  13. res.send(err);  
  14. }  
  15. else {  
  16. let rdata = result.recordsets[0];  
  17. var ShowLabel = true;  
  18. var JSONData = result.recordsets[0];  
  19. var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;  
  20. var number_of_rows = rdata.length;  
  21. var table_body = '';  
  22. table_body += '';  
  23. table_body += '

    Appuser List

    ';  
  24. table_body += '';  
  25. table_body += '';  
  26. var str_Fields = fields.split(',');  
  27. table_body += '';  
  28. for (i = 0; i < str_Fields.length; i++) {  
  29. if (i % 6 == 0)  
  30. {  
  31. table_body += '';  
  32. }  
  33. table_body += '' + str_Fields[i] + '';  
  34. }  
  35. table_body += '';  
  36. for (var i = 0; i < arrData.length; i++) {  
  37. var cssclass = '';  
  38. if (i % 2 == 0) {  
  39. cssclass = 'r1';  
  40. }  
  41. else {  
  42. cssclass = 'r2';  
  43. }  
  44. table_body += ' + cssclass + '">';  
  45. var k = 0;  
  46. for (var index in arrData[i]) {  
  47. if (k % 6 == 0) {  
  48. table_body += ' + cssclass + '">';  
  49. }  
  50. table_body += '';  
  51. table_body += arrData[i][index];  
  52. table_body += '';  
  53. k++;  
  54. }  
  55. table_body += '';  
  56. }  
  57. table_body += '
';  
  • var d = new Date();  
  • var fname = d.getDate() + "" + d.getMonth() + "" + d.getYear() + "" + d.getHours() + "" + d.getMinutes() + "" + d.getSeconds();  
  • res.header('Content-Disposition''attachment; filename=' + fname + '.pdf');  
  • pdf.create(table_body, options).toStream(function (err, stream) {  
  • stream.pipe(res);  
  • });  
  • }  
  • });  
  • }