APIGateway経由でS3にuploadした画像が表示できない。
isuue
前提
・RESTAPI
・アップストリームとの通信はHTTP。
以下のような流れでuploadした画像のurlを開くと、画像が表示されるはずが、なぜかダウンロードされてしまう。。。
ブラウザのformから、Content-Type:multipart/form-data で画像やその他テキストを送信。
画像は、 以下の流れでS3にアップロードされる。
APIGateway → APサーバー → S3
解決方法
・設定からバイナリメディアタイプに、multipart/form-dataを設定する。
APIGatewayは、以下のように
ブラウザなどのクライアントからリクエストを受け取り
それを解釈してルーティング先のapサーバーにリクエストを送りなおしている。
・ クライアント http→ APIGateway http→ APサーバ
この際にAPIGatewayでは、
バイナリファイルとして認識すると明示していないContent-Typeに関しては、
テキストなどと同じように処理してしまうため、今回のようなことが起きてしまっていたよう。
バイナリメディアタイプに、明示的に指定してあげれば問題なく登録できるようになる。
参考
Author And Source
この問題について(APIGateway経由でS3にuploadした画像が表示できない。), 我々は、より多くの情報をここで見つけました https://qiita.com/iizukapynyo/items/86a55d368e9f2d274310著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .