如何解决Sendgrid 和 Node.js formData Body
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 举报,一经查实,本站将立刻删除。