第三种方式 读成二进制后进行存取
先把图片读成二进制以后再做处理,这样快捷而且代码相对少很多,还有就是感谢下面几位网友的提醒和建议,在这里我把我简单写的代码贴一下,怎么样存储到数据库的方法还是大家自己写我只提供存取的方法
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openfile = new OpenFileDialog();
openfile.Title = "请选择客户端longin的图片";
openfile.Filter = "Login图片(*.jpg;*.bmp;*png)|*.jpeg;*.jpg;*.bmp;*.png|AllFiles(*.*)|*.*";
if (DialogResult.OK == openfile.ShowDialog())
{
try
{
//读成二进制
byte[] bytes = File.ReadAllBytes(openfile.FileName);
//直接返这个存储到数据就行了cmd.Parameters.Add("@image", SqlDbType.Image).Value = bytes;
//输出二进制 在这里把数据中取到的值放在这里byte[] bytes=(byte[])model.image;
pictureBox1.Image = System.Drawing.Image.FromStream(new MemoryStream(bytes));
this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
// 如果保存成文件:
File.WriteAllBytes(@"d:\text.jpg", bytes);
}
catch { }
}
}
{
OpenFileDialog openfile = new OpenFileDialog();
openfile.Title = "请选择客户端longin的图片";
openfile.Filter = "Login图片(*.jpg;*.bmp;*png)|*.jpeg;*.jpg;*.bmp;*.png|AllFiles(*.*)|*.*";
if (DialogResult.OK == openfile.ShowDialog())
{
try
{
//读成二进制
byte[] bytes = File.ReadAllBytes(openfile.FileName);
//直接返这个存储到数据就行了cmd.Parameters.Add("@image", SqlDbType.Image).Value = bytes;
//输出二进制 在这里把数据中取到的值放在这里byte[] bytes=(byte[])model.image;
pictureBox1.Image = System.Drawing.Image.FromStream(new MemoryStream(bytes));
this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
// 如果保存成文件:
File.WriteAllBytes(@"d:\text.jpg", bytes);
}
catch { }
}
}