You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Salesforce Flow HTTP POST Callout中传递PDF的Base64编码Blob?

解决Flow HTTP POST Callout传递PDF Base64 Blob的类型匹配问题

核心思路

Flow的HTTP Callout不直接支持Blob类型传递,必须先把ContentVersion的VersionData转成Base64字符串,再匹配对应的JSON Schema类型,就能解决类型不匹配和变量无法选择的问题。

具体步骤

  • 第一步:把Blob转成Base64字符串
    在Flow里添加一个赋值元素,用内置公式BASE64ENCODE(ContentVersion.VersionData)把PDF的Blob数据转换成Base64编码的字符串,存到一个新的文本变量里。

  • 第二步:修正External Service的JSON Schema
    定义请求体Schema时,对应PDF数据的字段类型必须设为string,不能用binary或其他Blob相关类型。比如Lambda期望的请求体结构如果是:

    {
      "pdfData": "这里是Base64编码的PDF内容"
    }
    

    就要把Schema里pdfData的type设为string。

  • 第三步:绑定Flow变量到请求参数
    回到Flow的HTTP Callout元素,选择你定义好的External Service,此时就能把之前生成的Base64字符串变量绑定到请求体的对应字段,不会再出现类型不匹配或无法选变量的问题。

  • 第四步:确认Lambda端无需改动
    Flow的BASE64ENCODE和你之前Apex里用的EncodingUtil.base64Encode()输出完全一致,Lambda端可以继续用原来的解码逻辑处理,不需要做任何调整。

避坑提醒

  • 别在Schema里用binary类型,Flow目前不支持直接把Blob传到这类字段,会导致无法选择输入变量。
  • 其他请求字段也要保证Schema类型和Flow变量类型严格匹配(比如数字对应number,文本对应string)。

内容的提问来源于stack exchange,提问作者HeXor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:22:40