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に関しては、
テキストなどと同じように処理してしまうため、今回のようなことが起きてしまっていたよう。
バイナリメディアタイプに、明示的に指定してあげれば問題なく登録できるようになる。
参考