如何通过文件扩展名设置匹配任何路径的路由

时间:2014-10-11 21:00:31

标签: nancy

我希望NancyFX中的路由匹配jpg路径,而不管路径段的数量。例如,它应匹配所有:

  • /image.jpg
  • /foo/image.jpg
  • /foo/bar/baz/foo/baz.jpg

这可能吗?我发现NancyFX的所有通配符选项都适用于特定的路径段,并且不允许多个段(其中段是由' /'分隔的部分)。

似乎应该可以,因为静态内容服务器需要能够执行此操作。

2 个答案:

答案 0 :(得分:1)

null

结果(路径值):

  • public MyModule : NancyModule { public MyModule() { Get[@"^(?<path>.*\.jpg)$"] = p => { string path = p.path; } } }
  • image.jpg
  • foo/image.jpg

答案 1 :(得分:0)

Nancy支持路由中的正则表达式。您可以使用正则表达式匹配.jpg图像的所有路径,并捕获图像的路径和名称:

public MyModule : NancyModule
{
    public MyModule()
    {
        Get[@"(?<imagepath>.*)/(?<imagename>.*.jpg)"] = 
            params => 
            {
                string path = params.imagepath;
                string name = params.imagename;
                return DoStuff(path, name);
            }
    }
}