如何在asp.net中使用图像处理程序显示图像

时间:2016-04-18 08:42:36

标签: c# asp.net imagehandler

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

var svgcarrot = svg.append("g").attr("transform", "translate(500,0)")//y is 0 so that both are drawn @ same height
var svg = svg.append("g").attr("transform", "translate(0,0)");//y is 0 so that both are drawn @ same height

我用Google搜索并没有结果。大多数教程以某种方式说我应该使用这样的地址:

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

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

2 个答案:

答案 0 :(得分:0)

你的问题非常广泛,但基本上:在你需要的时候,你需要有一个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

用户/网站只会看到包含您想要的标准网址的图片,但是会进行重定向,您的处理程序可以根据需要调整图片大小。

答案 1 :(得分:0)

你必须在web.config中定义你想要的路径&#34; Flower1.png&#34;使用特定的处理程序。例如:

<?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>

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

您可以查看this MSDN page了解详情。