如何将电脑中图片保存至sqlserver中 5C
求助:做一个JAVA WEB 网上商城项目,需要将电脑上的图存入到数据库 
    然后在网页中显示出来   求助如何将电脑中图片保存至sqlserver中 
 我的表是这样的:![图片说明]
         ! (https://img-ask.csdn.net/upload/201803/13/1520931579_310157.png) 
    急需 在线等

13个回答

方法1.将读取到的图片转化成二进制形式。再结合insert into 语句插入数据表中的blob类型字段中去。
方法2.图片存储在磁盘,数据库存储路径

qq_38349304
qq_38349304 嗯,那我在数据库中如何将图片转成二进制,我想在数据库直接存图,后再JSP页面读取
2 年多之前 回复
qq_38349304
qq_38349304 我知道可以这样做,但是我具体的在SQLserver中的代码怎么写呀,小白,求指教 如果是第二中的话我数据库表
2 年多之前 回复

在数据库中存储文件路径是比较常规的做法,如果是转成二进制存储,存入和读取比较麻烦,浪费资源

sinat_28984567
二月十六 回复qq_38349304: 图片的类型改成字符串类型,然后在程序接收保存图片的时候,记录下保存的文件路径,把路径存储到数据库中,之后可以直接按照路径引用图片
2 年多之前 回复
qq_38349304
qq_38349304 大神,可以告诉我具体点的代码吗,那我表的存图数据类型为picture,从磁盘存图用inserXXX语句,?小白,求指教
2 年多之前 回复

图片的类型在数据库中是picture型

将读取到的图片转化成二进制形式

我一般是base64转码后存储,然后base64再输出图片就行。
像其他人说那样,sqlserver支持图片保存

第一步:
//获取当前选择的图片 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格式放入数据库,图片多的时候就会给数据库造成负担。

qq_38349304
qq_38349304 我的是JAVA WEB 嗯,这个是C#?
2 年多之前 回复

保存路径就行了,没必要直接保存图片

图片转成二进制 数据库表里加一个image字段来保存就可以了

图片存储在磁盘,数据库存储路径,专业开发一定是分开的,数据库原则上建议不存图片。


第一步是将图像读入到字节数组,第二步建立Command命令,与数据率库创建连接,第三步创建Parameter,数据库的字段,将数据读进去

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问