允许直接访问Asp.Net MVC中的某些文件/内容

时间:2013-11-13 09:30:39

标签: asp.net-mvc twitter-bootstrap static

在我的Asp.Net MVC应用程序中,我使用的是twitter bootstrap的自定义模板。 我已将此模板文件夹名为“b3-detail-admin”放在我的mvc应用程序的根目录下。 当我尝试直接从这个文件夹访问一个文件时,使用浏览器的地址栏,如下所示:

http://my-pc/MyWebAppMvc/b3-detail-admin/font/fontawesome-webfont.woff

我收到以下错误:

HTTP Error 404.3 - Not Found
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

如何直接访问“b3-detail-admin”文件夹下的所有文件/文件夹?

1 个答案:

答案 0 :(得分:-1)

在mvc中,您只能访问RouteConfig中定义的路由。 您可以添加一个ActionResult,它返回文档,如下所示:

public ActionResult GetPdf()
{
     string file = Server.MapPath("~/folder/file.pdf");
     return File(file, "application/pdf", "file.pdf");
}

然后,您可以使其动态化以获取各种文件:

public ActionResult GetFile(string url, string mime)
{
     string file = Server.MapPath(url);
     string filename = url.Split(new char[]{'/'})[url.Split(new char[]{'/'}).Count()];
     return File(file, "mime", filename);
}