バイナリデータ(image/png)を返すAPIゲートウェイ(AWS)をセットアップしました。 私のAPIが読み込まれ、ラムダからのベース64の解読が成功し、バイナリデータが返されましたが、ブラウザに表示されません。 これは私のゲートウェイのログです:私は郵便配達から要求するとAWS Apiゲートウェイのバイナリデータ
、それが表示されることができず、応答はbase64でデータです:
誰もがこのような場合のために私を助けることができます? ありがとうございました!
バイナリデータ(image/png)を返すAPIゲートウェイ(AWS)をセットアップしました。 私のAPIが読み込まれ、ラムダからのベース64の解読が成功し、バイナリデータが返されましたが、ブラウザに表示されません。 これは私のゲートウェイのログです:私は郵便配達から要求するとAWS Apiゲートウェイのバイナリデータ
、それが表示されることができず、応答はbase64でデータです:
誰もがこのような場合のために私を助けることができます? ありがとうございました!
apiゲートウェイから取得したデータはバイナリデータです。出力をファイルに書き込んで保存してください。それはあなたのイメージファイルでなければなりません。
私は同じ使用例をしていますが、私はapi-gatewayで失敗しています。 api-gatewayコードを共有できますか?
ブラウザからイメージを取得すると、ブラウザは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を再デプロイしてブラウザでもう一度やり直すことをお勧めします。バイナリデータとして返す必要があります。
あなたはutf-8にコンテンツを変換しようとしましたか?このように:context.succeed(content.Body.toString( 'utf-8')); – Conti