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

Postman通过API Gateway以FORMDATA上传图片至S3无法打开问题咨询

问题根源与解决办法

核心问题

用form-data上传时,请求体是multipart/form-data格式的复合内容(包含表单字段分隔符、文件描述、文件二进制数据等),API Gateway直接把整个复合内容转发给S3,导致S3存储的不是纯图片二进制,而是整个表单数据包——这就是图片无法打开的原因。而binary模式下,请求体本身就是纯图片二进制,所以S3存储的内容能正常识别。

解决思路二选一

1. 继续用form-data上传(需加Lambda中转)

  • 在API Gateway和S3之间新增一个Lambda函数,用来解析multipart/form-data请求:
    • 从请求体中提取出图片文件的原始二进制内容
    • 调用S3的PutObject接口,将纯二进制内容上传到目标存储桶
  • 调整API Gateway的集成请求配置,把请求转发到这个Lambda函数,而非直接指向S3

2. 改用binary模式上传(更简便)

既然你已经验证过binary模式可用,直接沿用该方式即可:

  • 在Postman中选择binary选项,上传目标图片文件
  • 设置请求头的Content-Type为对应图片类型(比如image/jpeg、image/png)
  • 保持API Gateway的*/*二进制媒体类型设置,确保请求体完整透传给S3

额外检查项

  • 确认API Gateway的PUT方法集成请求中,**内容处理(Content Handling)**设置为Passthrough,避免自动转换请求体格式
  • 检查S3对象的Content-Type元数据:form-data上传的错误文件,其Content-Type会是multipart/form-data,而正常图片文件应对应具体的图片类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:44:58