下载PDF作为服务器的回应

时间:2019-05-09 14:34:56

标签: node.js express aws-lambda aws-api-gateway

我的任务是在后端读取PDF文件,并以编码格式发送给客户端,并带有相应的响应标头,以在客户端下载文件。
我正在将Lambda代理与AWS API网关集成在一起,这种情况下的快速服务器。

将Custom Lambda与API网关结合使用时,我可以从邮递员下载PDF,但是当我使用代理集成时,它可以为我下载空白的pdf内容文件。
在两种情况下,我都从api网关发送二进制数据给客户。
但是在自定义集成中,我通过启用对CONVERT_TO_BINARY的内容处理在API网关控制台中更改了此设置。
但是在代理服务器中,我是通过代码完成的,并将二进制文件发送到客户端。

                file = fs.readFileSync('/tmp/statistics.pdf');
                var base64 = file.toString('base64');
                var buff = new Buffer(base64, 'base64');
                var binary = buff.toString('binary');
                res.writeHead(200, {
                    'Content-Type': 'application/pdf',
                    'Content-Disposition': 'attachment; 
                     filename="statistics.pdf"'
                });
                res.end(binary);

这是我从api网关向客户端发送数据的示例代码 请帮我弄清楚我对此很困惑。

0 个答案:

没有答案