本博文,教你怎样显示非站点目录下的图片,你可以显示站点所在服务器所有驱动器目录的图片,以及映射网络磁盘路径的图片。下面举两个例子,一是显示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=图片路径" />