如何在无服务器中上传多部分表单数据

时间:2020-02-01 13:43:36

标签: amazon-s3 aws-lambda multipartform-data serverless-framework aws-serverless

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

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

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

2 个答案:

答案 0 :(得分:0)

您需要在AWS中为API网关配置二进制媒体类型,以便能够处理多部分/表单和此类内容。

答案 1 :(得分:0)

尝试一下。

只需将aws-serverless-express更改为aws-serverless-express-binary

$ yarn add aws-serverless-express-binary

https://www.npmjs.com/package/aws-serverless-express-binary