首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ASP.NET路由服务静态文件(第2部分)

使用ASP.NET路由服务静态文件(第2部分)
EN

Stack Overflow用户
提问于 2013-12-03 23:01:01
回答 1查看 459关注 0票数 2

我也遇到了类似的问题:Using ASP.NET routing to serve static files

在RouteConfig中,我添加了以下行:

routes.Add(“图像ABC",新路径(”图像/abc/{*文件名}“,新ImageRouteHandler("abc") ); routes.Add(“图片集XYZ”、新路线(“图文/xyz/{*filename}”、新ImageRouteHandler(“xyz”);

我在这里找到了一个相当不错的ImageRouteHandler实现:http://www.phpvs.net/2009/08/06/aspnet-mvc-how-to-route-to-images-or-other-file-types/,我只是在ctor中添加了一个参数来构建物理路径.

约束:除了ABC或XYZ之外,我在Images中还有其他路径,我不想被路由。

注意:我使用{*filename},所以我可以引用多个片段.更多信息在这里:pattern

问题:

  1. 我可以在不违反约束的情况下将这两条路由合并到一条语句中吗?可能使用某种正则表达式,如Images/[abc|xyz]/...
  2. 职位很重要。低于或高于默认路由。 routes.MapRoute(名称:“默认”,url:“{控制器}/{ action }/{ id }”,默认值: new { controller = "Home",action= "Index",id= UrlParameter.Optional } );

代码语言:javascript
复制
- a) if the code is placed above of default routing, it will mess up the RedirectToAction
- b) and if the code is placed below the default routing, it won't handle the immediate routing, ex. `Images/abc/img.jpg` won't be handled, but `Images/abc/level1/level2/level3/img.jpg` will be handled

为什么?不知道。

EN

回答 1

Stack Overflow用户

发布于 2013-12-04 16:23:39

固定于:

Routes.Add(“图像特殊”、新路径(“图像/{文件夹} /{*文件名}”)、null、新RouteValueDictionary {“传出”、新ImageRouteConstraint() }、新ImageRouteHandler() );

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20363471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档