serverless express 无法检索 pdf 文件(base64 编码)

serverless express can't retrieve pdf file (base64 encoding)

我已经设置了一个 express/serverless 应用程序来根据 GET 请求检索 pdf 文件。但我只是检索到损坏的 repsonse pdf 响应。我只是想知道我的设置是否正确以获得正确的响应。

我正在使用 aws-serverless-express 并想 return 我的 pdf 缓冲区到客户端浏览器(它应该在浏览器中打开)

我的代码:

  status = 200;
  let fileName = "demo.pdf"; 
  res.setHeader('Content-disposition', 'inline; filename="' + fileName + '"');
  res.setHeader('Content-type', 'application/pdf');
  res.setHeader('isBase64Encoded', true);//isBase64Encoded: true

  let pdf = pdfBuffer.toString('base64');
  res.status(status).send(pdf);

所以我要向 APIGW 发送一个 base64 编码的字符串。我实际上不确定是否可以通过 header 设置 isBase64Encoded 标志。我以前读过这篇文章,但我不太确定

我之前已经完成了整个过程,但没有使用 aws-serverless-express(我可以在其中轻松设置 isBase64Encoded 标志)

我还使用 serverless-apigw-binary 自动设置 APIGW 以正确解码 base64 编码数据

lambda自动编码为base64,所以我只好去掉它直接发送缓冲区。