Неисправность при отправке нескольких PDF-файлов из AWS Lambda с использованием NodeJS - PullRequest
0 голосов
/ 29 апреля 2020

Мне нужно вытащить несколько файлов pdf из S3 и отправить их группе получателей. Я могу вытащить один 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();
  }
});

Кажется, что где-то в моем l oop код для документов ввернут вверх. Любая помощь будет принята с благодарностью.

...