2013-07-16 68 views
2

Im使用sendgrid在我的node.js應用程序中發送電子郵件。我嘗試附加pdf的每個組合都以我附加的pdf不可讀取而告終。node.js sendgrid如何附加pdf

我已經試過:

fs.readFile('public_html/img/Report.pdf',function(err,data){ 
     var base64data = new Buffer(data).toString('base64'); 

     sendgrid.send({ 
      to  : hexDecode(_.e), 
      from  : '[email protected]', 
      subject : 'Report', 

      files  : [{filename:'Report.pdf',content:'data:application/pdf;base64,'+base64data}], 
      //files : [{filename:'Report.pdf',contentType:'data:application/pdf',url:'public_html/img/'Report.pdf'}], 
      //files : [{filename:'Report.pdf',url:'public_html/img/'Report.pdf'}], 
      html  : 'bla bla' 

沒有任何一個知道如何避免「無法加載PDF文檔」?

回答

2

根據the README,你應該傳遞你的內容,而不是把它變成一個數據URI。

fs.readFile('public_html/img/Report.pdf', function(err, data) { 
    sendgrid.send({ 
     to  : hexDecode(_.e), 
     from  : '[email protected]', 
     subject : 'Report', 

     files  : [{filename: 'Report.pdf', content: data}], 
     html  : 'bla bla' 
+0

它只在文件上發送16kb數據。其餘的仍然是一樣的。 –