首页 > 解决方案 > 如何防止api网关转换base64响应

问题描述

我有一项服务可以将图像数据作为正文中的 base64 编码文本返回:例如

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAgAE...etc

但是,当我们将服务放在充当代理的 api-gateway 后面时,相同的请求似乎会将响应转换为二进制

�PNG


IHDR,,y}�u IDA... etc

并且有一个响应头

Content-Type: application/json

该文档解释了如何自动转换为二进制文件,但没有提及如何保持响应不变。我尝试将 contentHandling 更改为 CONVERT_TO_TEXT 但没有成功,所以我想知道是否有另一种方法可以让 api 网关不会干扰我的服务响应。

标签: amazon-web-servicesaws-api-gateway

解决方案


我相信您使用的设置与我相同;

API gateway 
  V      
Proxy (no contentHandling available)    
  V
Lambda (returns {body: Buffer.toString('base64')})

这为我解决了这个问题:https ://stackoverflow.com/a/47780921/853015 。


推荐阅读