前言
大家用没有遇到过用关系型数据库来存储图片的,最近的一个小项目就用到了,通过网络查阅各种资料摘抄代码最后成功实现了图片转换为数据流然后存入数据库的功能.
正文
先来看看效果图吧!
这个效果其实实现也是很简单的就几行代码的事情废话不多说了,上代码
public void SaveImage(OpenFileDialog OpenF)//将文件转换成数据流
{
string strImage = OpenF.FileName;
FileStream fs = new FileStream(strImage, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] imageByte = br.ReadBytes((int)fs.Length);
user.photostr = imageByte;//可以将二进制更新在数据库里(全局变量user)
if (user.photostr == null)
{
lblModify.Text = "请修改头像";
}
else
{
bool updatePic= facade.UpdateUserPic(user);
}
StreamToFile(imageByte);
}
public void StreamToFile(byte[] imageByte)//将数据流转换成文件
{
if (imageByte != null)
{
MemoryStream ms = new MemoryStream(imageByte);
pictureBox1.Image = Image.FromStream(ms);
//图片变成圆形
Image image = this.pictureBox1.Image;
this.lblHead.Image = image;
}
}
private void lblHead_Click(object sender, EventArgs e)
{
string Photo;
bool isUpLoadPicture = false;
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "*.jpg|*.jpg|*.png|*.png|*.bmp|*.bmp";
if (ofd.ShowDialog() == DialogResult.OK)
{
isUpLoadPicture = true;
Photo = ofd.FileName;//实际文件的路径
pictureBox1.Image = Image.FromFile(Photo);
pictureBox1.ImageLocation = Photo;
SaveImage(ofd);
}
}
结尾
所以这个功能是不是很简单呢!只要有互联网我感觉我可以改造世界<憨笑>,好了今天就先写这些吧!希望对阅读的你来说有点帮助!