黑马程序员技术交流社区

标题: 如何在数据库中存储图片 [打印本页]

作者: hehe04    时间: 2012-9-3 21:52
标题: 如何在数据库中存储图片
如题,怎么把图片保存在数据库中,我有800多张图片,用户在使用时选择某张图片的名字,就可以显示这张图片
作者: 许庭洲    时间: 2012-9-4 08:27
FileStream fImageFile = new FileStream("ImagePath", FileMode.Open);
byte[] fImageByte = new byte[(int)fImageFile.Length];//把图片转成二进制流
fImageFile.Read(fImageByte, 0, fImageByte.Length);
using (SqlConnection conn = new SqlConnection("ConnectionString"))
{
    SqlCommand comm = new SqlCommand("Insert Into Table1 (Image) Values (@Image)", conn);
    comm.Parameters.Add(new SqlParameter(@Image, fImageByte));
    comm.Parameters.Add("@Image", SqlDbType.Binary);//@Image是sql语句里面的参数,使用时可以根据情况传参。
    comm.Parameters["@Image"] = fImageByte;//存入数据库
    conn.Open();
    comm.EndExecuteNonQuery();
}
作者: 霍永刚    时间: 2012-9-5 13:08
你可以把你的图片放在指定的盘符下,在数据库里写上相应的图片路径,这样就可以显示了。
作者: 王永杰    时间: 2012-9-5 14:39
其实在实际开发中 图片一般不会放入数据库中,一般是把图片让如一个图片文件夹中,来保存图片。而数据库中只保存个存放图片的文件路径,一般以字符的形势保存。
不知道你的具体需求是干嘛?数据库中保存图片也是可以的,不过一是占用支援,二是存取比较费时,还有图片存放在数据库是要把数据格式修改掉的。具体你可以看下数据库的存放格式有专门保存成图片文件的格式。可是我在实际工作中从来没有把图片放入过数据库。也就是在学习的那时候做过练习放入过。
若真有实际寻求,请哪里来分享下,我也想了解下什么情况下需要把图片文件存放在数据库中。


作者: 胡松涛    时间: 2012-9-7 21:49
一般都不会把图片文件存储到数据库中,而是用一个文件夹来存储图片文件,数据库中只存储图片文件的路径即可




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2