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

AWS Lambda的isBase64Encoded不生效,API Gateway未解码返回的base64图片

排查配置错误点

  • 高频踩坑:修改完API Gateway所有配置后未重新部署到对应阶段,配置不会生效,优先确认这一点。
  • 二进制媒体类型规则不匹配:你当前仅配置了image/jpeg作为二进制类型,但API Gateway默认需要请求的Accept头和配置的二进制类型完全匹配才会触发解码,你无法控制浏览器的Accept参数时,这个规则无法覆盖所有场景。
  • 集成响应的内容处理配置错误:如果使用的是REST API非Lambda代理集成,你需要手动将集成响应的「内容处理」选项设置为转换为二进制(按需),否则即使标记了isBase64Encoded也不会执行解码。
  • 返回参数格式错误:确认Lambda返回的isBase64Encoded是布尔类型True,不是字符串格式的"True";同时body字段的base64内容不要带data:image/jpeg;base64,这类URI前缀,必须为纯编码内容。

兼容所有浏览器的最终配置方案

  • 第一步:进入API Gateway的二进制媒体类型设置页,将原有image/jpeg替换为*/*,该配置会匹配所有请求/响应的媒体类型,无需依赖客户端的Accept头即可触发二进制解码。
  • 第二步:如果使用REST API,进入对应资源的集成响应配置,确认内容处理设置为转换为二进制(按需);如果使用HTTP API无需额外配置该选项。
  • 第三步:确认Lambda返回结构符合要求,示例正确代码如下:
return {
    "statusCode": 200,
    "body": image_in_base64, # 仅保留纯base64编码内容,不要加前缀
    "headers": {"Content-Type": "image/jpeg"},
    "isBase64Encoded" : True # 严格为布尔值,不要加引号
}
  • 第四步:保存所有配置,重新部署API到对应访问阶段,等待1分钟后测试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:36:03