从数据库读取图片的显示的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 SAZNA
  • 开始时间 开始时间
S

SAZNA

Unregistered / Unconfirmed
GUEST, unregistred user!
OpenCon();//连接数据库
sqlStmt = "select * from pic where picid=035101000023";
SqlCommand mycommand=new SqlCommand(sqlStmt,sqlCon);
SqlDataReader dr;
dr=mycommand.ExecuteReader();
if(dr.Read())
{
Response.ContentType="image/jpeg";
Response.BinaryWrite((byte[])dr["Picdate"]);
}
CloseCon();
上面是从数据库中读取数据并显示的代码,运行后显示SYSTEM.BYTE[]
请问是哪里出了问题,谢谢
 
OpenCon();//连接数据库
sqlStmt = "select * from pic where picid=035101000023";
SqlCommand mycommand=new SqlCommand(sqlStmt,sqlCon);
SqlDataReader dr;
dr=mycommand.ExecuteReader();
if(dr.Read())
{
Response.ContentType="image/jpeg";
Response.BinaryWrite((byte[])dr["Picdate"]);
}
CloseCon();
上面是从数据库中读取数据并显示的代码,运行后显示SYSTEM.BYTE[]
请问是哪里出了问题,谢谢
 
using System.IO;
private void ShowImage(string ID)
{
File.Delete( MapPath("img//1.jpg") );
byte[] buffByte = null;
string comm; comm = @"select Coal_FImageOut from Fule_Tbl_Coal where Coal_ID = " + ID;

System.Data.SqlClient.SqlCommand sqlCommand1=mis.missql.sqldatabase.dataline(this);
sqlCommand1.CommandType = System.Data.CommandType.Text ;
sqlCommand1.CommandText = comm;
System.Data.SqlClient.SqlDataReader rd = sqlCommand1.ExecuteReader();
while (rd.Read())
{
if ( rd[0].ToString() != "" )
buffByte = ((byte[])rd[0]);
}
rd.Close();
sqlCommand1.Dispose();
if( buffByte != null )
{
//将图像的字节数组放入内存流
System.IO.MemoryStream ms = new System.IO.MemoryStream(buffByte);
//通过流对象建立图像并保存图像到本地
System.Drawing.Bitmap bmp = new Bitmap(ms);

bmp.Save( MapPath("img//1.jpg") );
bmp.Dispose();
ms.Close();
this.Response.Write("<script>");
this.Response.Write("window.open('img/1.jpg','','width=500,height=400,status=no,resizable=no,left=200,top=200');");
this.Response.Write("</script>");
}
GC.Collect();
}
 
GC.Collect();
// 最好不要调用这个
也可以不用临时文件,直接写一个返回图像数据的aspx页面或者IHttpHandler,将picID作为url参数传递。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部