13

我正在使用 ASP.NET MVC 3。该应用程序的目标是 .net 4.0。

我试图将虚拟路径作为参数传递给控制器​​的操作并返回文件,而无需查看服务器上的实际物理路径并提供基本授权。不幸的是,我无法为 File 方法找到合适的重载来生成适当的 ActionResult。我一直在确定文件的 mime 类型。

我找到了几个通过文件名确定 mime 类型的解决方案,但没有一个让我满意。我想知道当您在服务器上请求文件时,IIS 如何确定 MIME 类型?是否有可能以某种方式将确定响应的 mime 类型的责任传递给 IIS

4

1 回答 1

31

如果您使用的是 .net 4.5,现在有一个函数接受文件名并返回 mimetype:

MimeMapping.GetMimeMapping(filename)

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

看看这个问题后面的函数:

如何在 ASP.NET MVC 中使用通用处理程序 (ASHX)?

现在的文件类型列表有点过时了,但这是一个开始,将尝试找到我最近的文件类型。

于 2013-07-17T08:46:35.807 回答