我需要从S3中提取多个pdf文件,并将其发送给一组收件人。我可以提取一个PDF并将其发送给小组,他们可以很好地打开PDF。当我尝试以下代码时,我能够发送多个PDF,但是我们无法打开这些PDF。我们收到以下错误:
“ Adobe Acrobat Reader无法打开'filename.pdf',因为它不是受支持的文件类型,或者因为文件已损坏(例如,它作为电子邮件附件发送并且未正确解码)。 “
这是我正在使用的代码:
let attachments = reportNameKeys.map((reportNameKey) => {
let reportName = reportNameKey.substring(subStringNum);
const s3FileData = getS3File(process.env.BUCKET, reportNameKey).then(
function (fileData) {
return fileData;
}
);
return {
filename: reportName,
content: s3FileData.Body,
};
});
const mailOptions = {
from: 'no-reply@example.com',
subject: `Subject`,
html: `<p>Attachments are attached</p>`,
to: recipients,
attachments: attachments,
};
const transporter = nodemailer.createTransport({
SES: ses,
});
transporter.sendMail(mailOptions, function (err, info) {
if (err) {
console.error(err);
console.error('Error sending email');
} else {
console.log('Email sent successfully');
callback();
}
});
似乎在我的循环中某个地方,文档的编码搞砸了。任何帮助将不胜感激。