Node.js SendGrid 如何附加 PDF

2023-11-24

我在用着SendGrid在我的 Node.js 应用程序中发送电子邮件。我尝试附加 pdf 的每个组合最终都会导致我附加的 pdf 无法读取。

我试过了:

fs.readFile('public_html/img/Report.pdf',function(err,data){
    var base64data = new Buffer(data).toString('base64');

    sendgrid.send({
        to        : hexDecode(_.e),
        from      : '[email protected]',
        subject   : 'Report',
        
        files      : [{filename:'Report.pdf',content:'data:application/pdf;base64,'+base64data}],
        // files   : [{filename:'Report.pdf',contentType:'data:application/pdf',url:'public_html/img/'Report.pdf'}],
        // files   : [{filename:'Report.pdf',url:'public_html/img/'Report.pdf'}],
        html       : 'bla bla'

有谁知道如何防止“无法加载 pdf 文档”?


使用最新版本的库,它是这样的:

fs.readFile('public_html/img/Report.pdf', function(err, data) {
    sendgrid.send({
        to          : hexDecode(_.e),
        from        : '[email protected]',
        subject     : 'Report',
        attachments : [{filename: 'Report.pdf', 
                       content: data,
                       type: 'application/pdf',
                       disposition: 'attachment',
                       contentId: 'myId'
        }],
        html        : 'bla bla'

该字段现在称为“附件”。(https://github.com/sendgrid/sendgrid-nodejs/blob/master/packages/mail/USE_CASES.md#attachments).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js SendGrid 如何附加 PDF 的相关文章

随机推荐

  • .rpt设计时如何使水晶报表页面宽度变大

    我正在寻找一种调整页面宽度大小的方法 Crystal Reports 使我可以将字段放置在 rpt 文件中 到目前为止 我发现如果右键单击报告 选择 设计 打印机设置 我可以选择要打印报告的纸张尺寸 如果我选择 方向 横向 我可以增加页面的
  • 使用 prism.js 突出显示 html

    我似乎无法使用 prism js 突出显示 html 因为它删除了仅打印文本的标记 pre 标签内的以下代码仅显示为文本 我将 代码 标签的类设置为 语言标记 table class data table tr td Title td td
  • 将 foreach 与 LINQ to Entities 结合使用时是否需要 ToList

    我有一个关于 LINQ 如何与foreach通过实体框架中的可查询实体 做哪一个更好 更快 foreach var thing in myentities GetThemAll or foreach var thing in myentit
  • 重定向根 URL - IIS 7

    我的网站上安装了一些论坛http ironnoob com forums 我的网站位于 c IronNoob 我的论坛安装在 c IronNoob forums 我希望 ironnoob com 和 www ironnoob com 都进行
  • 如何在docker容器中伪造cpu架构?

    当我创建 32 位 CentOS 5 docker 映像时 我希望 cpu 架构报告为 i386 i686 安装程序在此容器检查架构中进行测试并安装 64 位二进制文 件而不是 32 位 我设置了 yum 变量并创建了 uname 包装器
  • 批处理文件中删除特定扩展名的文件

    我想递归删除批处理文件中具有特定扩展名的所有文件 我知道以下命令 del s ext 但是 这在 Windows 上也会删除具有其他扩展名的文件 例如 ext1 或 ext2 其原因似乎是此类文件的 8 3 文件名以 ext 结尾 因此扩展
  • 实体框架 EF.Functions.Like 与 string.Contains

    我正在阅读实体框架核心2 0的公告https blogs msdn microsoft com dotnet 2017 08 14 announcing entity framework core 2 0 它说他们添加了新的 Sql 函数
  • 下拉 onchange 调用 PHP 函数

    我尝试使用下面的代码从下拉菜单中调用 PHP 函数 有没有一种干净的方法可以做到这一点 code section section
  • AngularJs 单元测试 - 嘲笑承诺不执行“然后”

    我们正在对控制器进行单元测试 我们已经成功模拟了对 REST 服务层的调用 并验证了它确实是使用给定的数据进行调用的 然而现在我们想在我们的控制器中测试then承诺改变location path 控制器 function app contr
  • Python字典迭代器性能

    在 Python 中使用字典时 这一页表示迭代字典元素的时间复杂度是O n where n是字典的最大尺寸 但是 我认为没有一种明显的方法可以迭代哈希表的元素 我可以假设性能良好吗dict iteritems 当迭代哈希表的元素时 没有太多
  • Alamofire POST 请求有进度

    我正在使用 Alamofire 执行 POST 请求 由于此 POST 请求可能需要一段时间 并且我想跟踪进度并将其显示为 ProgressView Alamofire request POST ApiLink create post pa
  • 在一台几乎相同的机器上获取“ld:未找到架构 x86_64 clang 的符号”

    我已经研究了两天 搜索了互联网的各个角落 但找不到任何解决方案 目前 当我尝试在 M1 Max 上构建 React Native Xcode 项目时 我得到ld symbol s not found for architecture x86
  • git中的文件和目录被修改后如何恢复权限?

    我有一个 git 结帐 所有文件权限都与 git 认为应有的权限不同 因此它们都显示为已修改 在不触及文件内容的情况下 只想修改权限 如何将所有文件权限设置为 git 认为应该的权限 Git 会跟踪文件权限并在使用创建补丁时公开权限更改gi
  • 是否有相当于 Stata 的 egen 函数? [复制]

    这个问题在这里已经有答案了 Stata 有一个非常好的命令 egen 这使得计算观察组的统计数据变得容易 例如 可以计算每个组的最大值 平均值和最小值 并将它们作为变量添加到详细数据集中 Stata 命令是一行代码 by group ege
  • 两个短整数的异或

    我正在计算XOR of two short integers using XOR 操作员以传统方式 下面是方法 short a 197 short b 341 short y short a b 然而 异或总是返回整数 但在我的例子中 输入
  • 参数化 DllImport 以在 C# 应用程序中使用

    我们有一家供应商提供了一个库来访问他们的硬件 不幸的是 如果您有多个设备 则需要使用不同的 dll 名称多次导入它们的库 因此 我们有大量的重复代码 我担心它很快就会成为维护的噩梦 我们现在拥有的是这样的 namespace MyNames
  • Django Rest 框架:serializers.ReadOnlyField() 不显示可浏览 api 中的字段

    Django Rest Framework 如何在可浏览的 api 中显示只读字段 当我添加result serializers CharField read only True 对于我的模型序列化器 表单不再呈现结果字段 我了解用户删除d
  • 不支持完整 REPL

    尝试使用 artisan 命令tinker 时出现错误 例如我想添加一个用户 在我的终端中我输入 php artisan tinker 但当我输入它时 我收到一条警告 Full REPL not supported Falling back
  • 为什么 OpenCV 使用 BGR 颜色空间而不是 RGB

    Why OpenCV using BGR色彩空间而不是RGB 我们都知道RGB是大多数计算机图形学的便捷颜色模型 人类视觉系统的工作方式类似于RGB色彩空间 背后有什么原因吗OpenCV BGR色彩空间 OpenCV 的早期开发人员之所以选
  • Node.js SendGrid 如何附加 PDF

    我在用着SendGrid在我的 Node js 应用程序中发送电子邮件 我尝试附加 pdf 的每个组合最终都会导致我附加的 pdf 无法读取 我试过了 fs readFile public html img Report pdf funct