微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sendgrid 和 Node.js formData Body

如何解决Sendgrid 和 Node.js formData Body

我在客户端生成一个 pdf 并将其发送到节点服务器。

let blob = pdf.output('blob');
let email = document.getElementById('email').value
        
const formData = new FormData();
formData.append('pdf',blob);
formData.append('email',email);
    
$.ajax('http://localhost:8080/test/test-1',{
     method: 'POST',data: formData,processData: false,contentType: 'application/x-www-form-urlencoded',success: function(data){console.log(data)},error: function(data){console.log(data)}
   });

我是我的节点控制器,我可以记录正文。

exports.sendForm = async (body) => {
  try {
    console.log(body);
  return;
  } catch (err) {
      return next(err);
  }
};

现在,在这个正文中有我的文件(blob?)和电子邮件输入的值。该文件需要附加到通过 SendGrid 发送的电子邮件中。我试过了,但肯定没用:

exports.sendForm = async (body) => {
  try {

    const msg = {
      to: 'test@gmail.com',from: 'test@gmail.com',subject: 'Sending with SendGrid is Fun',text: 'and easy to do anywhere,even with Node.js',attachments: [
        {
          content: body.toString("base64"),filename: "attachment.pdf",type: "application/pdf",disposition: "attachment"
        }
      ]
    }

    sgMail
      .send(msg)
      .then(() => {
          console.log("email sent");
      })
      .catch((error) => {
          console.error(error);
      });

    return;
  } catch (err) {
      return next(err);
  }
};

我正在阅读的教程使用具有特定路径的文件。我的文件是从前端发送的。 https://www.twilio.com/blog/sending-email-attachments-with-sendgrid

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。