1. ホーム
  2. asp.net-mvc

[解決済み] ASP.NET MVCの4つのFile Resultsの違いは何ですか?

2022-05-16 11:13:27

質問

ASP.NETには、4種類のファイル検索結果があります。

  • FileContentResult。バイナリファイルの内容をレスポンスに送信します。
  • FilePathResult。レスポンスにファイルの内容を送信します。
  • FileResult: レスポンスに書き込むバイナリ出力を返す
  • FileStreamResult: Streamインスタンスを用いてバイナリコンテンツをレスポンスに送信します。

これらの説明は MSDN から引用したもので、FileStreamResult を除き、最初の 3 つは同じように聞こえます。では、これらの違いは何なのでしょうか?

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

FileResult は、他のすべてのクラスの抽象的な基本クラスです。

  • FileContentResult - バイト配列をファイルとして返したい場合に使用します。
  • FilePathResult - ディスク上にファイルがあり、その内容を返したい場合 (パスを指定します)
  • FileStreamResult - ストリームを開いていて、その内容をファイルとして返したい場合。

しかし、これらのクラスを使う必要はほとんどないでしょう。 Controller.File オーバーロードのいずれかを使用し、ASP.NET MVCに魔法をかけさせることができます。