背景

最近在用aws的api gateway服务。发现一个问题。
前端通过api gateway从后端或者png图片的时候,前端收到的图片无法显示。
后来发现,图片的内容被处理过的。

原因分析

  1. 过程中要逐步排查,包括先排查后端和其它一大堆服务的问题。
  2. 最后把问题源头锁定在 api gateway。
  3. 最后查询资料发现,是因为api gateway默认把二进制binary数据当成文本数据处理了,做了一下转码之类的工作。
  4. 所以办法就是,让api gateway识别png和二进制文件,不要当成文本处理。

处理办法

  1. 查询了很多资料,但是大部分都是过时的。
  2. 最后找到2个比较靠谱的参考资料。
  3. 具体方法
    • 在api gateway设置那里,配置二进制媒体类型(binary media type)
    • 添加一项 / 。我之前设置过 image/png,好像不太行,后来没去深究
    • 添加完之后,记得部署。
    • 更详细的步骤,可以参照下面的资料。

参考资料

《参考资料1》
《参考资料2》





http://xzh.i3geek.com
分类: 软件开发笔记

爱唠叨的老鱼

爱唠叨的老鱼

技术经理,个人站长,创业者

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据