我试图设置一个控制器,以便它可以处理所有这些urls。
/file/filename.jpg
/file/path1/filename.jpg
/file/path1/path2/filename.jpg
等。
path1、path2等各个数值会不一样,文件名.jpg也会不一样。
我发现还有几个问题有点类似,但对我来说不太适用。
我目前的路由是。
routes.MapRoute(
name: "BlobStorage",
url: "File/{*filepath}",
defaults: new { controller = "File", action = "Index", filepath = UrlParameter.Optional },
namespaces: new string[] { "WebApp.Controllers" }
);
这有点工作,如果我使用url filepath1blarg,控制器就会启动。 但是如果我在blarg上加一个扩展名,它就不会。filepath1blarg.jpg只是给我一个404。
我真的很讨厌在控制器中设置一堆索引方法来处理多级路径。
有什么好办法吗?
好吧,看起来路由是正确的,但问题出在文件扩展名上。
我试着用一些方法来测试path1filename、path1path2filename、path1path2path3filename,但我得到的问题和路由代码一样。 问题似乎是,如果我包含一个扩展,路由就不会工作。 但如果我不包含扩展,它就能正常工作。