这个问题在这里已有答案:
我正在尝试设置一个Lambda和API网关,它将执行s3.getObject()并输出二进制图像作为响应 . 最终我想从s3中提取图像并在运行中调整大小而不是将它们保存回s3,但是我似乎无法获得输出的简单图像 .
我的简单lambda看起来像这样:
'use strict';
const http = require('http');
exports.handler = (event, context, callback) => {
http.get('http://i.stack.imgur.com/PIFN0.jpg', function(res) {
var body = '';
res.on('data', function(chunk) {
// Agregates chunks
body += chunk;
});
res.on('end', function() {
callback(null, body);
});
});
};
我已经设置了API网关二进制支持以允许'image / jpeg',并且我尝试在方法响应和集成响应中设置内容类型 .
Method Response:
Integration Response:
2 回答
我在这里找到了答案:AWS Gateway API base64Decode produces garbled binary?
当您在“创建方法”屏幕上选择“Lambda函数”时,它需要CLI命令来更改AWS控制台中未公开的设置 .
你读过这个blog post吗?
请按照这些说明操作,确保您的客户正确发送Content-Type和Accept标头