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 fileFilePathResult
– 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.