无服务器快递无法检索 pdf 文件(base64 编码)
Posted
技术标签:
【中文标题】无服务器快递无法检索 pdf 文件(base64 编码)【英文标题】:serverless express can't retrieve pdf file (base64 encoding) 【发布时间】:2018-03-23 06:53:48 【问题描述】:我已经设置了一个 express/serverless 应用程序来检索一个 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 编码数据
【问题讨论】:
您的问题到底是什么?发生了什么,没有发生什么应该是? 希望现在更好 【参考方案1】:lambda 会自动编码为 base64,所以我不得不删除它并直接发送缓冲区。
【讨论】:
以上是关于无服务器快递无法检索 pdf 文件(base64 编码)的主要内容,如果未能解决你的问题,请参考以下文章
base64 嵌入式 PDF 文件不会在 Chrome 中呈现