0

我最近决定使用 Image Handler 创建我的缩略图。我的意思是使用这样的地址:

  <img src="Flower1.png?width=100&height=300"/>

我用谷歌搜索并没有得到任何结果。大多数教程都说我应该像这个地址一样使用:

<img src="GetImage.ashx?file=~/Flower1.png&width=100&height=300"/>

但我不想使用这个地址。一些使用我想要的方式的教程太旧了,无法设置 IIS。谢谢指导。

4

2 回答 2

1

您的问题非常广泛,但基本上:在幕后您将需要一个 asp.net 处理程序,即提供图像的 GetImage.asxh 文件 - 您可以通过谷歌搜索大量示例以了解如何这样做,一旦你开始工作,你就可以设置 IIS 重定向规则,将进来的请求映射为:

<img src="Flower1.png?width=100&height=300"/>

<img src="GetImage.ashx?file=~/Flower1.png&width=100&height=300"/>

重定向规则启动器:

http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module

用户/网站只会看到带有您想要的标准 url 的图像,但在幕后会发生重定向,并且您的处理程序可以根据需要调整图像的大小。

于 2016-04-18T08:53:49.620 回答
0

您必须在 web.config 中定义您希望路径“Flower1.png”使用特定的处理程序。例如:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.web>
    <httpHandlers>
        <!-- ImageHandler handlers -->
        <add verb="*" path="*Flower1.png" 
         type="skmHttpHandlers.ImageHandler, skmHttpHandlers" />
    </httpHandlers>
  </system.web>
</configuration>

这将为“*Flower1.png”文件设置它,而不是发送文件本身,它将运行一个http处理程序。

您可以查看此 MSDN 页面以获取更多详细信息。

于 2016-04-18T08:56:14.850 回答