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

南楼画角 提交于 2020-01-22 09:27:08

问题


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


回答1:


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.



来源:https://stackoverflow.com/questions/17695085/asp-net-mvc-determine-mime-type-by-file-file-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!