如何在mvc[重复]路由中为扩展名为.jpg的文件设置多级路径?

问题描述 投票:0回答:1

我试图设置一个控制器,以便它可以处理所有这些urls。

/file/filename.jpg
/file/path1/filename.jpg
/file/path1/path2/filename.jpg

等。

path1、path2等各个数值会不一样,文件名.jpg也会不一样。

我发现还有几个问题有点类似,但对我来说不太适用。

MVC自定义路由中的多级

我目前的路由是。

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,但我得到的问题和路由代码一样。 问题似乎是,如果我包含一个扩展,路由就不会工作。 但如果我不包含扩展,它就能正常工作。

c# asp.net-mvc-routing
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.