我已经设置了一个快速/无服务器应用程序来检索 GET 请求上的 pdf 文件。但我只是检索损坏的响应 pdf 响应。我只是想知道我的设置是否正确以获得正确的响应。
我正在使用 aws-serverless-express并希望将我的 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 编码的字符串。我实际上不确定是否可以设置 isBase64Encoded 通过标题标记。我以前读过这个,但我不太确定
我之前已经完成了整个过程,但没有使用 aws-serverless-express(我可以轻松设置 isBase64Encoded 标志)
我也在用 serverless-apigw-binary自动设置 APIGW 以正确解码 base64 编码数据
最佳答案
lambda 会自动编码为 base64,因此我不得不将其删除并直接发送缓冲区。
关于node.js - serverless express 无法检索 pdf 文件(base64 编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690906/