【问题标题】:how to send a pdf base64 variable through a nodejs request?如何通过nodejs请求发送pdf base64变量?
【发布时间】:2026-01-04 11:15:02
【问题描述】:

尝试发送带有请求的 base64 pdf 字符串,但我似乎无法弄清楚请求的正确结构。提前感谢您的帮助!

    var dpdf = pdfvar.toString('base64');

    var options = {
    method: 'POST',
    body: dpdf,
    url: FILEPICKER_URL,
    headers: [
      {
        name: 'content-type',
        value: 'application/pdf'
      }
    ]
  };

  request(options, function(err, httpResponse, body){ 
    console.log('body: ', body);
    console.log('code ', httpResponse.statusCode)
  });

【问题讨论】:

  • 您遇到错误了吗?
  • 是的,发送到 filepicker 的 pdf 文件是损坏的文件。但我知道 dpdf 很好,因为我通过 mandrill 将它作为附件通过电子邮件发送,它运行良好。
  • 问题出在选项对象上,但我不确定是什么。我是否需要将其作为 json 对象包含在内还是包含另一个标头字段...不确定。

标签: node.js pdf requestjs


【解决方案1】:

对方期待一个PDF

application/pdf

而不是它的 BASE64 表示。

无论如何,看看你正在尝试做什么,不一定了解你是如何尝试做的......我会尝试将一个数据 url 兼容的标头附加到你的字符串,如下所示:

var dpdf = 'data:application/pdf;base64,' + pdfvar.toString('base64')

【讨论】:

  • 为了提供更大的上下文,我正在尝试替换通过 filepicker.io 上传的文件。我是通过发布请求来做的,但需要弄清楚如何发送 pdf