1. ホーム
  2. http

[解決済み] 強制的に「名前を付けて保存」ダイアログを開かずに応答ファイル名を設定する方法

2022-07-21 13:14:53

質問

あるレスポンスでストリームを返す際に、適切な content-type ヘッダを設定します。私が求めている動作はこれです。

  • ブラウザが与えられたコンテンツタイプのコンテンツをレンダリングできる場合、ブラウザウィンドウにそれを表示すること。

  • ブラウザがコンテンツを表示する方法を知らない場合、"save as"ダイアログを表示し、ファイル名がレスポンスで提供されたものであるべきです。

問題は、もし私が Content-Disposition ヘッダを持つことです。

"添付ファイル; filename="myfile.txt""

を指定すると、ブラウザは常に "名前を付けて保存"ダイアログを表示します。

もし私が Content-Disposition を設定しないと、"save as"ダイアログで使用されるファイル名は、私の場合、動作しないURLのものです。

また、私は Content-Dispositioninline に変更しても、結果は同じです。

どのように解決するのですか?

正しい方法は、次のとおりです。

Content-Disposition: inline; filename="myfile.txt"