我正在尝试使用基于节点的 lambda 函数使用 API 网关从 s3 返回 jpeg 图像。
我的 Lambda 函数读作:
s3.getObject(params).promise().then((result) => {
let resp = {
statusCode: 200,
headers: {
'Content-Type': 'image/jpeg'
},
body: result.Body.toString('base64'),
isBase64Encoded: true
};
callback(null, resp);
});
我还将 API 网关中的集成响应修改为“转换为二进制(如果需要)”。当我尝试测试此函数时,收到错误“由于配置错误执行失败:无法对正文进行 base64 解码。”。
是否缺少允许我检索 base64 编码文件的步骤?
最佳答案
我不确定,但是您是否尝试过使用 this 而不是直接在您的对象上调用的 toString ?
Buffer.from(result.Body).toString('base64')
关于aws-lambda - API 网关无法解码 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43325993/