我可以创建pdf文件,在本地Acrobat中查看,使用Meteor的电子邮件包通过电子邮件发送,接收附件,但它已损坏。Acrobat 无法打开它,实际上说"文件已损坏",并建议电子邮件存档可能是问题所在。
我尝试了"应用程序/八位字节流",但没有运气。有什么想法吗?
Email.send({
to: "bhattacharya.sudi@gmail.com",
from: from,
subject: fn.alertTypeLabel + ' ' + p[0].parameterLabel,
html: SSR.render( template, templateDataContext ),
attachments : [ { fileName : fileName, filePath : filesPath, contentType : contentType } ]
});
附件内容类型设置为 "application/pdf"
。
可以提供帮助的是将"content"参数作为附件的一部分传递。
在我自己的项目中,我是这样做的:
var fs = Meteor.npmRequire('fs');
var myPath = "assets/app/test.pdf"; // this should be wherever you store your pdf
fs.readFile(myPath, function (err, data) {
if (err) {
throw err;
}
Email.send({
from: test@gmail.com,
to: otherTest@gmail.com,
subject: 'mySubject',
attachments: [{'filename': 'myFileName 'contents': data}],
html: SSR.render( template, templateDataContext ),
});
}
我阅读了文件测试.pdf并使用"fs.readFile"返回其数据,并将其插入到我的电子邮件参数列表中。