node.js – AWS Lambda无法返回PDF文件

前端之家收集整理的这篇文章主要介绍了node.js – AWS Lambda无法返回PDF文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 serverless创建了一个lambda函数.此函数在GET请求上通过API网关触发,并应从缓冲区返回pdf文件.我正在使用 html-pdf创建缓冲区并尝试使用以下命令返回pdf文件
let response = {
    statusCode: 200,headers: {'Content-type' : 'application/pdf'},body: buffer.toString('base64'),isBase64Encoded : true,};
  return callback(null,response);

但浏览器只是无法加载pdf,所以我不确切知道如何将pdf文件直接返回到浏览器.无法找到解决方案.

解决方法

好吧,我找到了答案.
我的响应对象中的设置很好,我只需手动更改API网关中的设置,以便在浏览器中工作.我在API网关控制台的二进制设置下为二进制媒体类型添加了“* / *”

API网关

>只需登录您的控制台即可
>选择你的api
>在下拉列表中单击二进制支持
>编辑二进制媒体类型并添加“* / *”

前端

在新标签中打开api url(target =“_ blank”).浏览器可能正在处理编码的base 64响应.在我的情况下使用chrome,浏览器只是在新选项卡中打开pdf,就像我想要的那样.

猜你在找的Node.js相关文章