用ashx从northwind读取图片不成功的,哪里错了

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

<%@ WebHandler Language="C#" Class="picHandler" %>

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Drawing;

using System.IO;

using System.Data.SqlClient;

public class picHandler : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "image/jpeg";

context.Response.Cache.SetCacheability(HttpCacheability.Public);

context.Response.BufferOutput = false;

Stream outstream = null;

int photoId = -1;

if (context.Request.QueryString["PhotoID"] != null && context.Request.QueryString["PhotoID"] != "")

{

photoId = Convert.ToInt32(context.Request.QueryString["PhotoID"]);

outstream = GetPhoto(photoId);

}

const int buffersize = 1024*16;

byte[] buffer = new byte[buffersize];

int count = outstream.Read(buffer, 0, buffersize);

while (count > 0)

{

context.Response.OutputStream.Write(buffer, 0, count);

count = outstream.Read(buffer, 0, buffersize);

}

// context.Response.End();

}

public Stream GetPhoto(int photoId)

{

SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Personal"].ConnectionString);

SqlCommand myCommand = new SqlCommand

("SELECT [Photo] FROM [Employees] WHERE [EmployeeID]=@EmployeeID",myConnection);

myCommand.CommandType = CommandType.Text;

myCommand.Parameters.Add(new SqlParameter("@EmployeeID", photoId));

myConnection.Open();

object result = myCommand.ExecuteScalar();

try {

return new MemoryStream((byte[])result);

}

catch (ArgumentNullException e) {

return null;

}

finally{

myConnection.Close();

}

}

public bool IsReusable

{

get

{

return false;

}

}

}

调用<ItemTemplate>

<asp:Image ID="Image1" runat="server" ImageUrl='<%# Bind("EmployeeID", "picHandler.ashx?PhotoId={0}") %>' />

</ItemTemplate>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有