我正在使用ASP.NET MVC 3。 该应用程序的目标是.net 4.0。
我试图将虚拟路径作为参数传递给我的控制器操作并返回文件而不查看服务器上的实际物理路径并提供基本授权。不幸的是,我无法为File方法找到合适的重载来生成适当的ActionResult。我被困在确定文件的mime类型。
我找到了几个按文件名确定mime类型的解决方案,但没有一个能让我满意。我想知道当你在服务器上请求文件时,IIS如何确定mime类型?是否有可能以某种方式向IIS传递确定响应的mime类型的责任
答案 0 :(得分:28)
如果你使用.net 4.5,现在有一个函数,它接受一个文件名并返回一个mimetype:
MimeMapping.GetMimeMapping(filename)
http://msdn.microsoft.com/en-us/library/system.web.mimemapping.getmimemapping.aspx
在这个问题的后面看一下这个函数:
How to use Generic Handlers (ASHX) in ASP.NET MVC?
现在文件类型列表有点过时,但它是一个开始,会尝试找到我最近的文件类型。