或
Dim myConn As SqlConnection = New SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa")
Dim myda As SqlDataAdapter = New SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ", myConn)
Dim myds As DataSet = New DataSet
myConn.Open
myda.Fill(myds)
myConn.Close
Dim photo() As Byte = CType(myds.Tables(0).Rows(0)("personPhoto"),Byte())
Me.Response.BinaryWrite(photo)
3.设置Image控件显示从数据库中读出的二进制图片
C#
---------------------------------------------
SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=TestDB;User ID=sa;Password=sa");
SqlDataAdapter myda = new SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ", myConn);
DataSet myds = new DataSet();
myConn.Open();
myda.Fill(myds);
myConn.Close();
//
byte[] photo = (byte[])myds.Tables[0].Rows[0]["personPhoto"];
//图片路径
string strPath = "~/photo/wangwu.JPG";
string strPhotoPath = Server.MapPath(strPath);
//保存图片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));
bw.Write(photo);
bw.Close();
//显示图片
this.Image1.ImageUrl = strPath;
VB.NET
Dim myConn As SqlConnection = New SqlConnection("Data Source=192.168.0.36;Initial Catalog=TestDB;User ID=sa;Password=sa")
Dim myda As SqlDataAdapter = New SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ", myConn)
Dim myds As DataSet = New DataSet
myConn.Open
myda.Fill(myds)
myConn.Close
Dim photo() As Byte = CType(myds.Tables(0).Rows(0)("personPhoto"),Byte())
Dim strPath As String = "~/photo/wangwu.JPG"
Dim strPhotoPath As String = Server.MapPath(strPath)
Dim bw As BinaryWriter = New BinaryWriter(File.Open(strPhotoPath, FileMode.OpenOrCreate))
bw.Write(photo)
bw.Close
'显示图片
Me.Image1.ImageUrl = strPath
4.GridView中ImageField以URL方式显示图片
----------------------------
HeaderText="图片">
后台直接绑定即可
5.GridView显示读出的二进制图片
------------------------------
//样板列
HeaderText="图片">
//绑定
C#
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex < 0)
return;
// System.ComponentModel.Container
string strPersonName = (string)DataBinder.Eval(e.Row.DataItem, "personName");
Image tmp_Image = (Image)e.Row.Cells[2].FindControl("Image1");
if (!System.Convert.IsDBNull(DataBinder.Eval(e.Row.DataItem, "personPhoto")))
{
//
byte[] photo = (byte[])DataBinder.Eval(e.Row.DataItem, "personPhoto");
//图片路径
string strPath = "~/photo/" + strPersonName.Trim() + ".JPG";
string strPhotoPath = Server.MapPath(strPath);
//保存图片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath, FileMode.OpenOrCreate));
bw.Write(photo);
bw.Close();
//显示图片
tmp_Image.ImageUrl = strPath;
}
}
VB.NET
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If (e.Row.RowIndex < 0) Then
Return
End If
' System.ComponentModel.Container
Dim strPersonName As String = CType(DataBinder.Eval(e.Row.DataItem, "personName"),String)
Dim tmp_Image As Image = CType(e.Row.Cells(2).FindControl("Image1"),Image)
If Not System.Convert.IsDBNull(DataBinder.Eval(e.Row.DataItem, "personPhoto")) Then
'
Dim photo() As Byte = CType(DataBinder.Eval(e.Row.DataItem, "personPhoto"),Byte())
'G
Dim strPath As String = ("~/photo/" _
+ (strPersonName.Trim + ".JPG"))
Dim strPhotoPath As String = Server.MapPath(strPath)
'XG
Dim bw As BinaryWriter = New BinaryWriter(File.Open(strPhotoPath, FileMode.OpenOrCreate))
bw.Write(photo)
bw.Close
'>:G
tmp_Image.ImageUrl = strPath
End If
End Sub