「FileStreamResult クラス (System.Web.Mvc)」の版間の差分
imported>Administrator 編集の要約なし |
imported>Administrator |
||
| (同じ利用者による、間の8版が非表示) | |||
| 1行目: | 1行目: | ||
FileStreamResultクラスとは、[[ASP.NET MVC]]の[[アクション・メソッド]]の戻り値([[ActionResult]]およびその派生クラス)として、ストリーム([[Streamクラス]]とその派生クラス)の内容をバイナリデータとしてそのまま送信する[[FileResultクラス]]を継承したクラスである。 | |||
単純に送信するだけであれば、ストリームと[[MIMEタイプ]]を指定するだけで使えよく、非常に手軽である。ダウンロード確認ダイアログを表示する場合はHTTPレスポンスヘッダーにContent-Dispositionを設定する(例参照)。 | 単純に送信するだけであれば、ストリームと[[MIMEタイプ]]を指定するだけで使えよく、非常に手軽である。ダウンロード確認ダイアログを表示する場合はHTTPレスポンスヘッダーにContent-Dispositionを設定する(例参照)。 | ||
== | == 使用例 == | ||
=== ダウンロード確認ダイアログを表示する === | === ダウンロード確認ダイアログを表示する === | ||
ストリーム上のCSVファイルを送信し、ダウンロードの確認ダイアログを表示する例。 | ストリーム上のCSVファイルを送信し、ダウンロードの確認ダイアログを表示する例。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
using System.Web.Mvc; | |||
using System.IO; | |||
// Streamを取得する。 | public class HomeController : Controller | ||
{ | |||
public FileStreamResult DownloadCsv() | |||
{ | |||
// Content-Dispositionヘッダーに「attachement」と設定することで、 | |||
// ブラウザにダウンロードするかの確認ダイアログを表示させる。 | |||
} | // | ||
// Content-Dispositionの値 | |||
// attachment = ダウンロード | |||
// inline = インライン表示 | |||
// | |||
// 「filename=」という部分を書き換えれば、多くのブラウザで保存 | |||
// ダイアログの初期ファイル名となる。IE5.5以前はダメらしい。 | |||
// さすがにもう存在しないだろう。 | |||
this.HttpContext.Response.AddHeader( | |||
"Content-Disposition", | |||
"attachment; filename=file.csv"); | |||
// Streamを取得する。 | |||
// CreateCsvメソッドは仮にあるものとする。 | |||
Stream fileStream = CreateCsv(); | |||
// fileStreamの内容を結果として送信する。 | |||
return new FileStreamResult(fileStream, "text/csv"); | |||
} | |||
} | |||
</source> | </source> | ||
== 関連項目 == | == 関連項目 == | ||
* [[ActionResult]] | * [[ActionResult]] - [[ASP.NET MVC]]のアクション・メソッドの戻り値として使うベースクラス。 | ||
** [[FileResult]] - ファイルをダウンロードさせるためのベースクラス。 | |||
*** [[FileContentResult]] - バイト配列をHTTPレスポンスに書き込む。 | |||
*** [[FilePathResult]] - 指定されたファイルパスの中身をHTTPレスポンスに書き込む。 | |||
*** [[FileStreamResult]] - [[Streamクラス]]の中身をHTTPレスポンスに書き込む。 | |||
* [[ASP.NET MVC]] | * [[ASP.NET MVC]] | ||
== 参考文献 == | == 参考文献 == | ||
<references/> | <references/> | ||