2018年11月19日以降、Function Compute は、HTTP トリガーによって関数がトリガーされると、レスポンスヘッダーに content-disposition: attachment を追加するようになりました。これにより、ブラウザは応答をインラインでレンダリングする代わりに、ファイルとしてダウンロードします。
強制ダウンロードを防ぐには、次のいずれかの方法を使用します。
方法1:テストドメイン名を使用する (クイックテスト用)
Function Compute コンソールにログインします。
ご利用の関数の HTTP トリガー詳細ページに移動します。
テストドメイン名をクリックして、設定スクリプトをダウンロードして実行します。
スクリプトを実行後、テストドメイン名経由で関数にアクセスすると、ブラウザは応答を直接レンダリングします。
方法2:カスタムドメイン名を使用する (本番環境用)
デフォルトの aliyuncs.com ドメインを使用する代わりに、カスタムドメイン名を関数にバインドします。カスタムドメイン名は、この強制ダウンロードの制限を受けません。
設定手順については、「カスタムドメイン名の設定」をご参照ください。
方法3:Content-Type レスポンスヘッダーを設定する (プログラムによる制御)
関数のレスポンスヘッダーで content-type: text/html を返します。ブラウザがこのヘッダーを受け取ると、応答をダウンロードする代わりに HTML としてレンダリングします。
応答を返す前に、関数ハンドラでレスポンスヘッダーを設定します:
Content-Type: text/htmlこのアプローチでは、関数コードの変更が必要です。さまざまな応答のレンダリング方法をきめ細かく制御する必要がある場合に使用します。