AWS API GATEWAY 配置从 lambda 返回二进制 pdf 文件

R01*_*010 5 pdf binary base64 amazon-web-services aws-api-gateway

我想从 AWS Lambda 函数返回 pdf,并使用 API Gateway 从任何浏览器调用它。

我在 C# 中有一个 aws lambda 函数,它返回一个 API 网关响应,其主体是pdfin base64 encoded string

到目前为止,端点返回一个带有.pdf扩展名的文件,但不是二进制文件。相反,是一个带有 base64 字符串的文本文件。

我从 C# 代码返回的标头是:

  var headersDic = new Dictionary<string, string>();
      headersDic.Add("Content-type", "application/pdf");
      headersDic.Add("Content-disposition", "attachment; filename=file.pdf");
Run Code Online (Sandbox Code Playgroud)

我手动将 base64 字符串转换为二进制文件并将其作为 pdf 打开,它可以工作,我的意思是,base64 字符串是正确的,所以我认为问题出在 API 网关上。

在API网关的集成响应控制台中,我得到了以下信息:

在此输入图像描述

但我无法让它发挥作用。

我还启用了二进制媒体类型。

在此输入图像描述

R01*_*010 0

我不知道我到底做了什么,但我删除了“ALL”方法,并使用此配置创建了“GET”方法,现在它可以工作了。

在此输入图像描述