如何阻止 AWS API Gateway 对二进制响应进行 Base64 编码?

2024-04-28

我使用 AWS Toolkit 中的项目模板创建了一个 ASP.NET Core 应用程序。我将其部署为 AWS Lambda,并注意到响应中的二进制文件采用了 Base64 编码。我在 AWS API Gateway 中添加了正确的媒体类型,如下所示。浏览器正在发送正确的接受设置。响应显示 x-amzn-remapped-content-length 为 3346,这是实际文件大小,响应大小为 4464,这是 base64 编码版本。

我已经看到有关在 yml 文件中设置 "contentHandling": "CONVERT_TO_BINARY" 的回复。我没有使用任何 yml 文件。项目模板已使用 CloudFormation 模板 (serverless.template) 设置。我尝试将设置放在那里,但出现错误。模板不理解部署期间的设置,或者我将其放在模板文件中的错误位置。

关于如何让端点在不编码的情况下按原样发送二进制文件的任何想法?


在“x-amazon-apigateway-integration”对象中端点的无服务器 YML 文件中,将“contentHandling”设置为“CONVERT_TO_BINARY”。检查这个API Gateway 中的内容类型转换 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings-workflow.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止 AWS API Gateway 对二进制响应进行 Base64 编码? 的相关文章

随机推荐