2014-10-11 91 views
0

我希望NancyFX中的路由匹配jpg路徑,而不管路徑段的數量如何。例如,它應該匹配的是:如何通過文件擴展名設置匹配任何路徑的路由

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

是這可能嗎?看起來,我發現NancyFX的所有通配符選項都是針對特定路徑段的,並且不允許多個段(其中段是由'/'分隔的部分)。

它應該是可能的,因爲靜態內容服務器需要能夠做到這一點。

回答

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); 
      } 
    } 
}