Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET MVC Determine mime type by file/file path

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

like image 375
Nas Avatar asked Jul 17 '13 08:07

Nas


1 Answers

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.

like image 172
Richard Avatar answered Oct 12 '22 14:10

Richard