首页 > 解决方案 > 如何在无服务器中上传多部分表单数据

问题描述

我正在通过 AWS Lambda 使用 multipart/form-data 从前端(Angular)将文件上传到 S3。我已经安装了serverless-apigw-binary插件,并且在我的 serverless.yml 中包含了该插件文档中提到的配置。在我的 API 网关上,我可以看到插件添加了 serverless.yml 文件中提到的二进制媒体类型值

但是,当我在 S3 上查看文件时,它已损坏。无论我上传什么类型的文件(图片、文档、pdf),我都无法在下载时打开它。当我从 Postman 向我的 lambda 函数发出直接 POST 请求时,也会出现此问题。

我错过了任何步骤吗?在 Lambda 中接受二进制文件的正确方法是什么?

标签: amazon-s3aws-lambdamultipartform-dataserverless-frameworkaws-serverless

解决方案


您需要在 AWS 中为 API Gateway 配置二进制媒体类型,以便能够处理 multipart/form 之类的东西。


推荐阅读