使用ImageResizer SqlReader的自定义路径

时间:2014-03-11 21:01:59

标签: asp.net-mvc imageresizer

我正在开发一个应用程序,它将有经销商徽标图像的友好URL,我想使用ImageResizer的SqlReader插件。

在我在他们的网站上阅读的示例中,您可以使用相同的路径(例如~/databaseimages/{id})轻松地从SQL托管文件,但我真的希望能够做一些事情来影响~/michigan/dealers/{id}/logo.jpg密歇根州可能是任何州名。

是否可以拥有多部分ID(状态和ID)并且文件名是静态的,如我所示,还是有更好的方法来执行此操作?!如果我不必,我真的不想更改网址。

解决方案 根据接受的答案,这是我使用的URL重写解决方案

    <rewrite>
      <rules>
        <rule name="Rewrite to dealerlogos SqlReader" stopProcessing="true">
          <match url="^([_0-9a-z-]+)/dealers/([_0-9a-z-]+)/logo.jpg" />
          <action type="Rewrite" url="dealerlogos/{R:2}?regionSlug={R:1}" appendQueryString="true" redirectType="Found" />
        </rule>
      </rules>
    </rewrite>

1 个答案:

答案 0 :(得分:1)

您可以使用任何类型的URL重写来执行此操作。

ImageResizer提供了一个内置事件ImageResizer.Configuration.Config.Current.Pipeline.Rewrite,如果您只想为ImageResizer请求重写路径,可以附加处理程序。