源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

gridview 显示图片的实例代码

  • 时间:2020-12-21 03:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:gridview 显示图片的实例代码
1.将图片以二进制存入数据库 2.读取二进制图片在页面显示 3.设置Image控件显示从数据库中读出的二进制图片 4.GridView中ImageField以URL方式显示图片 5.GridView显示读出的二进制图片 ==================== 1.将图片以二进制存入数据库
[u]复制代码[/u] 代码如下:
//保存图片到数据库 protected void Button1_Click(object sender, EventArgs e) {    //图片路径    string strPath = "~/photo/03.JPG";    string strPhotoPath = Server.MapPath(strPath);    //读取图片    FileStream fs = new System.IO.FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);    BinaryReader br = new BinaryReader(fs);    byte[] photo = br.ReadBytes((int)fs.Length);    br.Close();    fs.Close();    //存入    SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");    string strComm = " INSERT INTO personPhoto(personName, personPhotoPath, personPhoto) ";    strComm += " VALUES('wangwu', '" + strPath + "', @photoBinary )";    SqlCommand myComm = new SqlCommand(strComm, myConn);    myComm.Parameters.Add("@photoBinary", SqlDbType.Binary,photo.Length);    myComm.Parameters["@photoBinary"].Value = http://www.cnblogs.com/wycoo/archive/2012/02/07/photo;    myConn.Open();    myComm.ExecuteNonQuery();    myConn.Close(); }
2.读取二进制图片在页面显示
[u]复制代码[/u] 代码如下:
//读取图片 SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa"); string strComm = " SELECT personPhoto FROM personPhoto WHERE personName='wangwu' "; SqlCommand myComm = new SqlCommand(strComm, myConn); myConn.Open(); SqlDataReader dr = myComm.ExecuteReader(); while (dr.Read()) {    byte[] photo = (byte[])dr["personPhoto"];    this.Response.BinaryWrite(photo); } dr.Close(); myConn.Close();
[u]复制代码[/u] 代码如下:
SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;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"]; this.Response.BinaryWrite(photo);
3.设置Image控件显示从数据库中读出的二进制图片
[u]复制代码[/u] 代码如下:
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();
显示图片
[u]复制代码[/u] 代码如下:
this.Image1.ImageUrl = strPath;   //4.GridView中ImageField以URL方式显示图片 ---------------------------- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">    <Columns>    <asp:BoundField DataField="personName" HeaderText="姓名" />    <asp:ImageField DataImageUrlField="personPhotoPath"    HeaderText="图片">    </asp:ImageField>    </Columns> </asp:GridView>
后台直接绑定即可 5.GridView显示读出的二进制图片
[u]复制代码[/u] 代码如下:
//样板列 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">    <Columns>    <asp:BoundField DataField="personName" HeaderText="姓名" />    <asp:ImageField DataImageUrlField="personPhotoPath"    HeaderText="图片">    </asp:ImageField>    <asp:TemplateField HeaderText="图片">    <ItemTemplate>    <asp:Image ID="Image1" runat="server" />    </ItemTemplate>    </asp:TemplateField>    </Columns> </asp:GridView> 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;    } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部