Lambda不使用负载均衡器发送二进制数据pdf

问题描述

我正在将AWS Lambda与应用程序负载平衡器一起使用。我一直在努力弄清楚为什么我只得到了一部分内容(几个字节)。

我尝试将PDF文件作为二进制数据返回。这在本地有效,当我的应用程序部署到ec2或lambda以外的其他任何地方时都可以使用。

我已经看过这样的答案AWS Lambda fails to return PDF file

但是这些答案都在讨论关于API网关的lambda设置。我未使用API​​网关,但正在使用应用程序负载平衡器。有什么想法吗?

解决方法

找到了答案!我在Express中使用无服务器HTTP。我需要为返回内容类型添加二进制参数。

const serverless = require('serverless-http');
const app = require("./index");
const handler = serverless(app,{
  binary: ['application/pdf']
});
exports.handler = async (event,context) => {
  return  await handler(event,context);
};

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...