【问题标题】:How to handle routes with image extensions如何处理带有图像扩展的路由
【发布时间】:2020-03-18 06:11:23
【问题描述】:

我有行动:

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

所以它适用于上述图片网址。但我需要它适用于任何子文件夹,并且以下返回 404:

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

当我添加斜线时,它再次起作用:

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

我可以让它在没有尾部斜杠的情况下工作吗? 我觉得我需要在配置中自定义处理程序路径,但不知道如何。

【问题讨论】:

    标签: asp.net asp.net-mvc routes


    【解决方案1】:

    这种情况你应该使用查询字符串

    网址改成这个

    http://localhost:60955/thumbnail?image=screenshots/imagename.png
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 2013-04-26
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    相关资源
    最近更新 更多