保存图片到数据库

保存图片:将当前选择的显示在PictureBox中的图片转换成二进制流,存入数据库中
//ImageToByte(Image img) 将图片转换成二进制代码,然后存储在数据库中
public static byte[] ImageToByte(Image img)
{
byte[] byt = null;
ImageConverter imgCvt = new ImageConverter();
object obj = imgCvt.ConvertTo(img, typeof(byte[]));
byt = (byte[])obj;
return byt;
}
将返回的二进制流用参数的形式存入数据库
comm.Parameters.Add("@Photo", SqlDbType.Image);
comm.Parameters["@Photo"].Value = byt;
读取图片:先将后台数据库中的图象二进制流转换成图象文件,然后再赋值给图片框
private void ShowPic()
{
string strSql = "Select GdsPhoto from AchGoods where GdsID = '"+ txtID.Text +"'";
comm.CommandText = strSql;
conn.Open();
SqlDataReader reader = comm.ExecuteReader();
//判断读取是否成功
if(reader.Read())
{
if (reader["GdsPhoto"] == DBNull.Value)
{
reader.Close();
picGoods.Image = null;
return;
}

byte[] data = ((byte[])reader["Photo"]);
picGoods.Image = CommonClass.CommonFun.ByteToImage(data);
picGoods.Refresh();
reader.Close();
}
else
{
MessageBox.Show("没有成功读入数据!") ;
}

conn.Close();
}
//ByteToImage(byte[] byt)读取数据库中的二进制文件将其转换为Image
public static Image ByteToImage(byte[] bytImage)
{
Image img = null;
ImageConverter imgCvt = new ImageConverter();
object obj = imgCvt.ConvertFrom(bytImage);
img = (Image)obj;
return img;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值