经常会听到那些编写过 windows 控件,后来又转向 web 的程序员抱怨:“为什么不能像控件那样将图像存储在同一个程序集内呢?” 答案是可以,您只需要知道如何做到这一点。本文介绍如何从一个程序集内提供图像,并提供了两种检索图像的方法。下载本页顶端的 mfrimages.exe,以便完整地了解下面讨论的示例代码。
问题概述
web 站点上的图像通常通过 url 来引用,例如 。/uploadpic/2007-2/2007262311518.gif它告诉 web 客户端到哪里去查找图像。在 web 页中,图像与文字是分别下载的。图像通常存储在 web 服务器中命名为 /images 等名称的子目录中,页面只是提供到这些图像的引用,以使它们能够显示在客户端的浏览器中。
从程序集提供图像的主要问题是 http 需要通过 url 获得图像 - 您不能只将直接插入 html 的一串字节返回给用户,就期望能够正确显示图像。设法将图像请求重定向到程序集内的某个资源是很有必要的,在本文中我将介绍两种方法。
在继续下面的内容之前,还要注意一个问题。如果在 web 服务器上没有进行其他一些配置,想提供一个能够正确呈现图像的完全独立控件是不可能的。您还需要在服务器上创建其他的文件(至少一个),或对 iis 配置数据库做一些更改,以将图像提供给客户端。不过,完成这些简单的更改后,您就可以轻松地从任何程序集提供图像了。