0

バイナリデータ(image/png)を返すAPIゲートウェイ(AWS)をセットアップしました。 私のAPIが読み込まれ、ラムダからのベース64の解読が成功し、バイナリデータが返されましたが、ブラウザに表示されません。 これは私のゲートウェイのログです:私は郵便配達から要求するとAWS Apiゲートウェイのバイナリデータ

Api gateway's log

、それが表示されることができず、応答はbase64でデータです:

Image response

誰もがこのような場合のために私を助けることができます? ありがとうございました!

+0

あなたはutf-8にコンテンツを変換しようとしましたか?このように:context.succeed(content.Body.toString( 'utf-8')); – Conti

答えて

0

apiゲートウェイから取得したデータはバイナリデータです。出力をファイルに書き込んで保存してください。それはあなたのイメージファイルでなければなりません。

私は同じ使用例をしていますが、私はapi-gatewayで失敗しています。 api-gatewayコードを共有できますか?

0

ブラウザからイメージを取得すると、ブラウザはacceptヘッダーをAccept: image/webp,image/apng,image/*,*/*;q=0.8のように設定し、API GatewayはAcceptsヘッダーの最初の値のみを選択します。

最初の値がbinaryMediaTypesのパターンと一致する場合、API Gatewayはそれをバイナリデータとみなし、base64文字列からバイナリデータに変換するか、バイナリデータを渡します。

クライアント/ブラウザからのAcceptsヘッダーに基づいて動作を変更していない場合は、統合応答でcontentHandlingプロパティをCONVERT_TO_BINARYに設定すると、APIゲートウェイはAcceptsヘッダーを無視します。

image/*をAPIのbinaryMediaTypesに入れてから、APIを再デプロイしてブラウザでもう一度やり直すことをお勧めします。バイナリデータとして返す必要があります。

関連する問題