13

I am using ASP.NET MVC 3. The application is targeting .net 4.0.

I was trying to pass a virtual path as argument to my controller's action and return the file without reviewing the actual physical path on the server and providing basic Authorization. Unfortunately I was unable to find a suitable overload for File method to generate the appropriate ActionResult. I am stuck at determining mime type for the file.

I've found a couple of solutions for determining mime-types by file name, but none of them are satisfying me. I was wondering how does IIS determines the mime type when you are requesting a file on the server? Is it possible to somehow pass to IIS the responsibility for determining the mime type for the response

Nas
  • 1,063
  • 2
  • 9
  • 22
  • possible duplicate of [Get MIME type from filename extension](http://stackoverflow.com/questions/1029740/get-mime-type-from-filename-extension) – Liam Jun 01 '15 at 08:21

1 Answers1

31

If you are using .net 4.5 there is a function now that takes a filename and returns a mimetype:

MimeMapping.GetMimeMapping(filename)

http://msdn.microsoft.com/en-us/library/system.web.mimemapping.getmimemapping.aspx

Take a look at the function later in this question:

How to use Generic Handlers (ASHX) in ASP.NET MVC?

It is a little out of date with the list of file types now but it's a start, will try to find my more recent one.

Community
  • 1
  • 1
Richard
  • 21,728
  • 13
  • 62
  • 101