これまでのコードは次のとおりです。画像バッファを toString 配列にするのではなく、生データとして返したいだけです。
http 200 応答の統合応答で content-type を image/jpeg に設定しましたが、生データではなくバッファーの toString だと思うため、壊れた画像です。
exports.handler = function(event, context) {
var srcKey = event.key || 'e_1.png';
var max_size = event.size || 100;
// Download the image from S3
s3.getObject({
Bucket: srcBucket,
Key: srcKey
}, function (err, response) {
if (err)
return context.fail('unable to download image ' + err);
var original = gm(response.Body);
original.size(function (err, size) {
if (err)
return context.fail('unable to download image ' + err);
resize_photo(size, max_size, original, function (err, photo) {
//res.setHeader('Content-Type', 'image/jpeg');
context.succeed(photo);
});
});
});
};