GridView显示图片
来源:互联网 发布:沉迷网络的危害翻译 编辑:程序博客网 时间:2024/05/16 13:47
与图片的二进制数据库存储和显示 1.将图片以二进制存入数据库 2.读取二进制图片在页面显示 3.设置Image控件显示从数据库中读出的二进制图片 4.GridView中ImageField以URL方式显示图片 5.GridView显示读出的二进制图片 ==================== 1.将图片以二进制存入数据库 //保存图片到数据库 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 = photo; myConn.Open(); myComm.ExecuteNonQuery(); myConn.Close(); } 2.读取二进制图片在页面显示 //读取图片 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(); 或 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控件显示从数据库中读出的二进制图片 --------------------------------------------- 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; //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显示读出的二进制图片 //样板列 <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; } }
- GridView显示图片
- GridView显示数据库图片
- GridView显示网络图片
- GridView显示网格图片
- gridview显示图片
- GridView显示网络图片
- GridView显示图片
- 使用GridView显示图片
- 在GridView中显示图片
- 在GridView中显示图片
- 在gridview中显示图片
- GridView显示图片(图文)
- Android程序设计:GridView显示图片
- GridView显示图片重复问题
- GridView中显示数据库里的图片
- GridView中显示数据库里的图片
- GridView中显示数据库里的图片
- GridView中显示数据库里的图片
- Java 高层网络编程
- 承接用友NC ERP与外系统接口以及二次开发外包
- 问:在线qq客服中数据存储问题?
- 九种MIPS编码格式
- Head First JavaScript中文版(第26--30页)
- GridView显示图片
- C++中的二分查找
- [WEBSERVICE]动态加载Web Service
- Matlab三维绘图
- CIMS
- 关于FPGA学习的几个问题
- Symbian和3G的关系
- 增大肌肉块的13大秘诀
- IEEE802.3ah协议学习(1)——多点MAC控制简介