2

これまでのコードは次のとおりです。画像バッファを 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);
            });
        });
    });

};
4

1 に答える 1

1

これは、が設計されたものLambdaとは思えません。API Gatewayパイプラインの状態によっては、バイナリ出力がサポートされない場合があります。代わりに別のことを試してみてください。画像を に保存し、 aを newS3に送り返します。パイプラインにバイナリ応答を処理させるのではなく、クライアントに処理させます。HTTP RedirectS3 URIAPI Gateway

于 2015-08-12T21:39:10.883 に答える