What’s the difference between the four File Results in ASP.NET MVC

FileResult is an abstract base class for all the others.

  • FileContentResult – you use it when you have a byte array you would like to return as a file
  • FilePathResult – when you have a file on disk and would like to return its content (you give a path)
  • FileStreamResult – you have a stream open, you want to return its content as a file

However, you’ll rarely have to use these classes – you can just use one of Controller.File overloads and let ASP.NET MVC do the magic for you.

Leave a Comment