如何处理带有图像扩展名的路线

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

我有行动:

public ActionResult Thumbnail(string image)
{
     return GetThumbnail(image);
}

我正在尝试通过下一个请求访问它:

http://localhost:60955/thumbnail/imagename.png

在配置中,我有:

<add name="Png" path="/thumbnail/*.png" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

并且在路由配置中:

routes.MapRoute(
    name: "Thumbnail",
    url: "thumbnail/{*image}",
    defaults: new { controller = "Image", action = "Thumbnail" }
);

因此它适用于以上图像URL。但是我需要使用它来处理任何子文件夹,并且以下返回404:

http://localhost:60955/thumbnail/screenshots/imagename.png

并且当我添加斜杠时,它又可以正常工作:

http://localhost:60955/thumbnail/screenshots/imagename.png/

我可以使其不带有斜线吗?我觉得我需要在配置中自定义处理程序路径,但无法弄清楚该怎么做。

asp.net asp.net-mvc routes
1个回答
0
投票

在这种情况下,您应该使用查询字符串

URL更改为此

http://localhost:60955/thumbnail?image=screenshots/imagename.png
© www.soinside.com 2019 - 2024. All rights reserved.