差分

ナビゲーションに移動 検索に移動

FileStreamResult クラス (System.Web.Mvc)

1,943 バイト追加, 2012年3月30日 (金) 05:08
ページの作成:「FileStreamResult クラス (System.Web.Mvc) FileStreamResultクラスとは、ストリーム(Streamクラスとその派生クラス)の内容を、バイナ...」
FileStreamResult クラス (System.Web.Mvc)

FileStreamResultクラスとは、ストリーム([[Streamクラス]]とその派生クラス)の内容を、バイナリデータとしてそのまま送信する[[ActionResultクラス]]を継承したクラスである。

単純に送信するだけであれば、ストリームと[[MIMEタイプ]]を指定するだけで使えよく、非常に手軽である。ダウンロード確認ダイアログを表示する場合はHTTPレスポンスヘッダーにContent-Dispositionを設定する(例参照)。

== 例 ==
=== ダウンロード確認ダイアログを表示する ===
ストリーム上のCSVファイルを送信し、ダウンロードの確認ダイアログを表示する例。
<source lang="csharp">
public FileStreamResult DownloadCsv()
{
// Content-Dispositionヘッダーに「attachement」と設定することで、
// ブラウザにダウンロードするかの確認ダイアログを表示させる。
//
// Content-Dispositionの値
// attachment = ダウンロード
// inline = インライン表示
//
// 「filename=」という部分を書き換えれば、多くのブラウザで保存
// ダイアログの初期ファイル名となる。IE5.5以前はダメらしい。
// さすがにもう存在しないだろう。
HttpContext.Response.AddHeader(
"Content-Disposition",
"attachment; filename=file.csv");

// Streamを取得する。
// CreateCsvメソッドは仮にあるものとする。
Stream fileStream = CreateCsv();

// fileStreamの内容を結果として送信する。
return new FileStreamResult(fileStream, "text/csv");
}
</source>

== 関連項目 ==
* [[ActionResult]]
* [[ASP.NET MVC]]
== 参考文献 ==
<references/>
== 外部リンク ==
* http://msdn.microsoft.com/ja-jp/library/system.web.mvc.filestreamresult.aspx

{{stub}}
匿名利用者

案内メニュー