如何把图片保存到SQL Server数据库
SQLServer数据库中有一个字段是image用来保存图片的。该字段是什么格式的呢,如何把jpgbmp等不同格式图片保存进来呢?又如何取出呢?如果需要用请C#语言...
SQL Server数据库中有一个字段是 image 用来保存图片的。该字段是什么格式的呢,如何把jpg bmp 等不同格式图片保存进来呢?又如何取出呢?如果需要用请C#语言
展开
2个回答
展开全部
第一步:
//获取当前选择的图片 this.pictureBox1.Image = Image.FromStream(this.openFileDialog1.OpenFile()); //获取当前图片的路径 string path = openFileDialog1.FileName.ToString(); //将制定路径的图片添加到FileStream类中 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //通过FileStream对象实例化BinaryReader对象 BinaryReader br = new BinaryReader(fs); //通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组 byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));
第二步: //将图片添加到数据库中 string sql="insert into pic values(@pic)"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) }; DBHelper.GetExecuteQuery(sql, param);
第三步: //将图片从数据库中取出 string sql="select * from pic where id=0"; SqlDataReader reader = DBHelper.GetExecuteReader(sql, null); MemoryStream mss = null; if (reader.Read()) { byte[] bytes = (byte[])reader["pic"]; mss = new MemoryStream(bytes); }
this.pictureBox2.Image = Image.FromStream(mss);
以上是复制来的,但是一般不需要这么做,只需要把图片路径保存就可以了
this.photo.PostedFile.SaveAs(path + "名字.格式");
然后把路径存入数据库
如果存那种image格式放入数据库,图片多的时候就会给数据库造成负担。
//获取当前选择的图片 this.pictureBox1.Image = Image.FromStream(this.openFileDialog1.OpenFile()); //获取当前图片的路径 string path = openFileDialog1.FileName.ToString(); //将制定路径的图片添加到FileStream类中 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //通过FileStream对象实例化BinaryReader对象 BinaryReader br = new BinaryReader(fs); //通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组 byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));
第二步: //将图片添加到数据库中 string sql="insert into pic values(@pic)"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) }; DBHelper.GetExecuteQuery(sql, param);
第三步: //将图片从数据库中取出 string sql="select * from pic where id=0"; SqlDataReader reader = DBHelper.GetExecuteReader(sql, null); MemoryStream mss = null; if (reader.Read()) { byte[] bytes = (byte[])reader["pic"]; mss = new MemoryStream(bytes); }
this.pictureBox2.Image = Image.FromStream(mss);
以上是复制来的,但是一般不需要这么做,只需要把图片路径保存就可以了
this.photo.PostedFile.SaveAs(path + "名字.格式");
然后把路径存入数据库
如果存那种image格式放入数据库,图片多的时候就会给数据库造成负担。
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |