【问题标题】:ASP.net MVC Image RoutingASP.net MVC 图像路由
【发布时间】:2014-09-02 06:50:55
【问题描述】:

我有一个MVC4 application,我正在尝试生成一个路由或ihttphandler 来处理图像请求,但是这个handler or route 永远不会被触发。

我在route config上有以下路线:

routes.MapRoute("Images", "images/{filename}", new { controller = "Image", action = "ImageRequest" });

当我使用它来调用 images/demo.png 时,这种方式对我不起作用

我也尝试过IhttpHandler,如这里所示,但也没有成功: Back To Basics Dynamic Image Generation ASPNET Controllers Routing IHttpHandlers And Run All Managed Modules For All Requests.

我的web config 处理程序部分如下所示:

<!-- language: lang-xml -->
<add name="Imagehandler jpg" path="/images/*.jpg" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler jpeg" path="/images/*.jpeg" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler bmp" path="/images/*.bmp" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler png" path="/images/*.png" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler tiff" path="/images/*.tiff" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

如果我同时激活了处理程序和路由,则处理程序不会被触发,但路由会触发。

谁能告诉我我在这里做错了什么?

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    您的路线映射中路线的顺序是什么?

    MVC 匹配第一个匹配的路由,而不是最具体的,我猜你在图像特定路由之前点击了默认路由。

    我怀疑如果您尝试点击“Images/Myfile.png”,发生的情况是该路由正在尝试查找静态文件而不是使用您的图像路由。

    也许可以通过其他问题来了解更多信息:

    Routing a url with extension in MVC4 won't work, tries to serve up static file

    【讨论】:

    • 我有我的图像路由,然后是默认路由:routes.MapRoute("Images", "images/{filename}", new { controller = "Image", action = "ImageRequest" }) ; routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });
    • 谢谢 YOUUUUUUUU,编辑后,您发布的内容就像魅力一样,现在可以正常工作了。谢谢:D
    • 没问题,很高兴它有帮助
    猜你喜欢
    • 2010-11-11
    • 2013-03-12
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    相关资源
    最近更新 更多