如何使用pdf的pdf输出制作NodeMailer的附件邮件选项?
这是一个PDFMake的代码片段来创buildPDF文件 :
var pdfDoc = printer.createPdfKitDocument(docDefinition); pdfDoc.pipe(fs.createWriteStream('pdfs/absolute.pdf')); pdfDoc.end();
这里是NodeMailer的一个附件选项 :
{ // stream as an attachment filename: 'text4.txt', content: fs.createReadStream('file.txt') }
我可以创buildpdf并将其保存到目录中的文件并将保存的文件附加到电子邮件中,但是我想直接将pdf的输出发送到电子邮件的附件内容,而不将pdf输出保存到文件 。
我试图了解nodejspipe道和streamfunction,但无法理解它们以满足我的要求。 我认为这应该是可以通过stream和pipe道,但不知道如何实现。
我想要防止保存PDF输出到文件,因为可以有多个用户使用创buildPDF文件和发送电子邮件的function。 当一个用户创build的pdf文件被另一个用户覆盖时,可能会出现这种情况。
您可以代替pipe道,将整个pdfdoc
传递给附件
var pdfDoc = printer.createPdfKitDocument(docDefinition); pdfDoc.end();
接着:
attachments: { // stream as an attachment filename: 'text4.pdf', content: pdfDoc }