私のコントローラアクションの1つが、ファイルをユーザに返します。私は、ファイルの種類に関係なく、ユーザにダウンロード(開く/保存)ダイアログが表示されるようにしたいと思います。これは、ファイルの種類が.doc、.docx、.xlsxなどの場合は正常ですが、ファイルが.txt、.xps、.pdf(時々)、または.htmlの場合、ブラウザで開きます。Asp.net MVC FileContentResult - ブラウザで開けないようにする
ファイルがブラウザで開かれないようにする方法はありますか?現在のページから離れずに別のウィンドウで開くことができますか?
ファイルのリクエストは、jQueryの$.ajax({})
を使用して行われます。
関連する:応答文字列としてファイルのconentを受け取るAJAX呼び出しが、this ansewrによって説明されているのに対して、ブラウザが要求を処理してポップアップを表示することを説明しますが、この質問はブラウザでファイルを一度それが受信されると特定の方法。
に
"Content-Disposition"
ヘッダを設定してみてください。ユーザーの便宜のために、1回のクリックでファイルを開くことを許可するのが最善の方法です(現在のブラウザウィンドウには表示されません)。 – yoozer8サーバーでこれを行うことができる場合は、「Content-Disposition」ヘッダーを「attachment; filename = whatever.xyz」に設定してみてください。 – Ray
これはまさにそれです。ありがとう。 – yoozer8