本博文,Insus.NET教你怎样显示非站点目录下的图片,你可以显示站点所在服务器所有驱动器目录的图片,以及映射网络磁盘路径的图片。下面举两个例子,一是显示D盘下图片,另一个例子是显示映射网路路径图片。
最实用于在企业内部,经常性需要临时显示图片,但用户不想上传大量图片,而是放置在某一台工作站上。因此需要映射路径即可,或是直接拷贝至服务器某一驱动器之下即可。
下面例子是显示映射网络磁盘目录图片:
你可以创建一个ashx 文件来处理图片(核心代码):
ShowOutSiteImage.ashx
<%@ WebHandler Language="C#" Class="Insus.NET.ShowOutSiteImage" %> using System; using System.Web; using System.IO; namespace Insus.NET { public class ShowOutSiteImage : IHttpHandler { public void ProcessRequest(HttpContext context) { string parameter = context.Request.QueryString["file"]; FileStream fs = new FileStream(parameter, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); Byte[] bytes = br.ReadBytes((Int32)fs.Length); br.Close(); fs.Close(); context.Response.OutputStream.Write(bytes, 0, bytes.Length); } public bool IsReusable { get { return false; } } } }
在需要显示图片时,下面的HTML的"图片路径"语法,可参考上面两截图。
<asp:Image ID="Image1" runat="server" ImageUrl="~/ShowOutSiteImage.ashx?file=图片路径" />