如何把图片转换成二进制存入数据库

public static byte[] imgBytesIn;//用来存储图片的二进制
Stream ms;
byte[] picbyte;
//在创建数据库链接,测试链接成功后,在高级里可自动生成链接数据库字符串,copy出来即可
string str = "Data Source=PC-20180AIHL;Initial Catalog=Image;User ID=sa";
OpenFileDialog openF = new OpenFileDialog();

//获取用户打开的路径然转换成二进制存入数据库
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "*jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP";

if (ofd.ShowDialog() == DialogResult.OK)
{
string filePath = ofd.FileName;//图片路径
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] imageBytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流

string strSql = string.Format("insert into image(tupian) values('" + imageBytes + "')");
int count = Write(strSql, imageBytes);

if (count > 0)
{
MessageBox.Show("成功!");
}
else
{
MessageBox.Show("失败!");
}
}

读出:

byte[] imagebytes = null;

//打开数据库

SqlConnection con = new SqlConnection("server=PC-2018AIHL;uid=sa;pwd=123456;database=Image");

con.Open();

SqlCommand com = new SqlCommand("select * from image where ID=1", con);

SqlDataReader dr = com.ExecuteReader();

byte[] dd = null;
string id = null;
while (dr.Read())
{
dd = (byte[])dr["tupian"];
id = dr["ID"].ToString();
imagebytes = (byte[])dr.GetValue(1);

}

dr.Close();

com.Clone();

con.Close();

MemoryStream ms = new MemoryStream(imagebytes);

Bitmap bmpt = new Bitmap(ms);

pictureBox1.Image = bmpt;

原文地址:https://www.cnblogs.com/jasonch123/p/8598095.html