asp.net-core - 如何阻止 AWS API Gateway 使用 base64 编码二进制响应?
问题描述
我使用 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 中 检查此内容类型转换
推荐阅读
- node.js - 没有 GET 请求记录的 mongoose-morgan
- c++ - 实现 find_max
- reactjs - 如何使用反应挂钩(网络应用程序)改变方向(数学公式的垂直和水平位置)?
- android - Android BLE RxKotlin
- laravel-8 - Jetstream中用户注销后如何防止浏览器返回按钮?
- image - 开发从 FB 和 IG 批量下载多张照片的扩展
- jquery - 在具有完整日历功能的事件框中设置每种不同的颜色
- c - 如何为多维数组动态分配内存
- javascript - 如何从溢出的 CSS 动画中消除抖动?
- oracle - 有没有办法在没有负载均衡器的情况下在 ORACLE Web Logic 上添加安全标头?