如何将数据库中的图片显示在页面上的Image控件上?急!!!!!!!
如何将数据库中的图片显示在页面上的Image控件上?急!!!!!!! 问题点数:50、回复次数:14Top
1 楼karykwan(独行者)回复于 2005-05-11 11:01:18 得分 1
数据库里面的是图片的url还是流?
如果是url.直接给image的srcTop
2 楼nmlvjun(网事如风)回复于 2005-05-11 11:06:44 得分 0
参考http://blog.csdn.net/error.aspx?aspxerrorpath=/gaofeng2000/archive/2004/08/27/86264.aspxTop
3 楼aw511(点点星灯)回复于 2005-05-11 11:08:58 得分 5
'Function to Display Image
'将图片的二进制数组读出来
Private Function ShowImage(ByVal userid As String)
Try
m_conn.Open()
Dim str As String = "select userimage from userInfo where userid='" & userid & "'"
Dim cmd As New SqlClient.SqlCommand(str, m_conn)
'TextBox1.Text = s
Dim b() As Byte
b = cmd.ExecuteScalar()
If (b.Length > 0) Then
Dim stream As New MemoryStream(b, True)
stream.Write(b, 0, b.Length)
DrawToScale(New Bitmap(stream))
stream.Close()
End If
m_conn.Close()
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
m_conn.Close()
End Try
End Function
Private Sub DrawToScale(ByVal bmp As Image)
PictureBox1.Image = New Bitmap(bmp)
End Sub
Top
4 楼zhanmincode(killer)回复于 2005-05-11 11:11:42 得分 2
先将数据库中的图片转化到流中,然后写到Image控件上就可以了Top
5 楼JamesLee2003()回复于 2005-05-11 11:16:33 得分 2
将图片转化到流中,然后Image.FromStream(streamName);Top
6 楼HMusicer(HHJ)回复于 2005-05-11 11:17:24 得分 10
如果是流则:
private void Page_Load(object sender, System.EventArgs e)
{
ShowTheFile(Convert.ToInt32(Request.QueryString["ID"]));
}
private void Button1_Click(object sender, System.EventArgs e)
{
image1.ImageUrl = 当前页面文件名.aspx?ID=图片记录的ID号";
}
private void ShowTheFile(int FileID)
{
string SQL = "SELECT PersonImage FROM Person WHERE id = " + FileID.ToString();
SqlConnection dbConn = new SqlConnection(strCnn);
SqlCommand dbComm = new SqlCommand(SQL, dbConn);
dbConn.Open();
// Execute command and receive DataReader
SqlDataReader dbRead = dbComm.ExecuteReader();
// Read row
dbRead.Read();
// Clear Response buffer
Response.Clear();
byte[] imageData =(byte[])dbRead["PersonImage"];
Int32 imageSize = imageData.Length;
// Write data out of database into Output Stream
Response.OutputStream.Write(imageData, 0, imageSize);
// Close database connection
dbConn.Close();
// End the page
Response.End();
}Top
7 楼yiweichun(仰望星空)回复于 2005-05-12 17:30:20 得分 0
各位老大有没有C#的例子?Top
8 楼owenbeckham()回复于 2005-05-12 17:55:33 得分 5
image.ImageUrl=数据库图片地址字段Top
9 楼yiweichun(仰望星空)回复于 2005-05-13 17:56:10 得分 0
--> owenbeckham(kelly)
数据库图片地址字段怎么获得?Top
10 楼owenbeckham()回复于 2005-05-13 18:04:20 得分 5
比如:
参考一下
strSql="SELECT * FROM USER_TRUCK WHERE UT_ID="+Request.QueryString["UT_ID"]+"";
DataSet dsUT=new DataSet();
dsUT=Info.Select(strSql,"USER_TRUCK");
this.Img.ImageUrl=dsUT.Tables["USER_TRUCK"].Rows[0]["UT_IMAGE"].ToString();Top
11 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-13 18:54:20 得分 15
在页面中,放一个Image控件,在后台指定它的链接地址如下:
----------------------------------------------------------------------
//为方便,写一个固定ID号tmp_id=103
this.Image1.ImageUrl = "showimg.aspx?tmp_id=103" ;
下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.
--------------------------------------------------------------------
//创建数据库连接
OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
myConnection.Open();
//打开数据库
OracleCommand myCommand = myConnection.CreateCommand();
string sql = "select tmp_blob from tmp where tmp_id = 103";
myCommand.CommandText = sql;
OracleDataReader myRead = myCommand.ExecuteReader();
//开始读取
myRead.Read();
//这个方法更直接
Byte[] Buffer = (Byte[])myRead[0];
//OracleLob myLob = myRead.GetOracleLob(0);
//长度是long,转为int32
//int myLength = Convert.ToInt32(myLob.Length);
//Byte[] Buffer = new byte[myLength];
//myLob.Read(Buffer,0,myLength);
//输出
this.Response.Clear();
//输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了,自己写上,不过不写也没有关系.
this.Response.ContentType = "";
this.Response.BinaryWrite(Buffer);
this.Response.End();
Top
12 楼yiweichun(仰望星空)回复于 2005-05-16 14:58:55 得分 0
--> hchxxzx(NET?摸到一点门槛)
显示图片的aspx文件如何命名?Top
13 楼iuhxq(小灰)回复于 2005-05-16 15:12:29 得分 5
showimg.aspx就可以
直接在Page_Load里写上面的代码,关键是
this.Response.Clear();
//输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了,自己写上,不过不写也没有关系.
this.Response.ContentType = "";
this.Response.BinaryWrite(Buffer);
this.Response.End();
上面4行代码。至于buffer里的图片是从哪里来的并不重要
其他任何引用都是直接把URL=showimg.aspx?id=1就可以了Top
14 楼yiweichun(仰望星空)回复于 2005-05-16 15:14:56 得分 0
各位老大,谢了Top





