如何将sqlserver数据库表中保存的图片读出并显示在web页面呢?
imgId imgfilename imgdata
1 aaa.jpg <Binary>
2 bbb.jpg <Binary>
3 ccc.jpg <Binary>
上边是一个数据库表中所存的信息,其中imgfilename为图片名称,imgdata为图片内容
现在客户端.aspx页面中有一个Button1,这个按钮被按下后,首先保存客户端机器中一张所选的图片到服务器数据库中,然后,再读取数据库中的这张图片,显示回客户端机器的屏幕。
下边的代码,只能写数据库,不能读数据库中的图片显回客户端,请高人指点
private void Button1_Click(object sender, System.EventArgs e)
{
if(File1.PostedFile.FileName!="")
{
string fileName=File1.PostedFile.FileName;
fileName=fileName.Substring(fileName.LastIndexOf(@"\"));
string[] s=fileName.Split('\\');
int fileLength=File1.PostedFile.ContentLength;
byte[] imgbuffer = new byte[fileLength];
Stream objStream;
objStream = File1.PostedFile.InputStream;
objStream.Read(imgbuffer,0,fileLength);
SqlConnection conn=new SqlConnection("Data Source=server1;"+"Initial Catalog=testdb;User ID=sa;Password=");
string insertimg="insert into InImage values('"+s[1].ToString()+"','"+fileLength.ToString()+"','"+imgbuffer+"')";
SqlCommand smcmd=new SqlCommand(insertimg,conn);
conn.Open();smcmd.ExecuteNonQuery();conn.Close();
string selectimg="select * from InImage where imagename='"+s[1].ToString()+"'";
SqlCommand secmd=new SqlCommand(selectimg,conn);
conn.Open();
SqlDataReader SqlReader = secmd.ExecuteReader();
SqlReader.Read();
Response.ContentType="application/octet-stream";
Response.BinaryWrite((byte[])SqlReader["imagedata"]);
Response.End();
conn.Close();
}
}