通过API网关将文档上传到S3存储桶,而Lambda会损坏该文档

时间:2020-04-23 19:27:31

标签: amazon-web-services amazon-s3 aws-lambda aws-api-gateway

我目前有一个感觉很简单的项目。 React&Express API,允许将文件上传到S3存储桶。当我在本地运行两个项目时,它都能正常工作。我可以选择一个文件,甚至添加自定义元数据,然后该文件将存储在桶中,我可以下载并看到它是完整的。

当我部署到AWS时,我将Express API放在Lambda中,并且使用API​​网关让我的前端调用它。

但是在以下情况下我遇到了问题:

  1. 如果我在本地运行UI并将其指向API网关
  2. 我将UI部署到专门为该UI设计的另一个S3存储桶中,并将其指向API网关

在这两种情况下,文件最终都存储在我要存储它的S3存储桶中,但是在这两种情况下,文件几乎都是实际文件大小的两倍,并且似乎已损坏。如果我从存储桶中下载文件,则无法再打开它们。

上传基本.txt文件时不会发生

这对我来说,我似乎缺少API网关中的一些重要配置选项,因为这似乎是唯一的区别。

在API网关中,我根据研究此问题的一些文章将*/*添加到Binary Media Types。根据我的阅读,它表明它与上传期间如何处理文件有关,但我不确定如何修复。

任何帮助将不胜感激。

0 个答案:

没有答案