如图,现在要实现这样的功能:点击"打开图片",能获取到一张本地图片的二进制数据,将该数据保存在一个变量里面,然后点击"录入"按钮,图片的二进制码就会被传入到数据库中某张表里,请问怎么实现?
你的流程说的很清楚啊,接下来就是调用api' ,写方法啊。
http://www.sufeinet.com/thread-1261-1-1.html
打开图片文件,读取其全部的文件内容,写入数据库。这个过程,如果需要具体的操作,必须要知道是什么数据库吧。
byte[] data = null;
private void btnOpenImage_Click(object sender, EventArgs e)
{
OpenFileDialog openFi = new OpenFileDialog();
openFi.Filter = "图像文件(JPeg, Gif, Bmp, etc.)|*.jpg;*.jpeg;*.gif;*.bmp;*.tif; *.tiff; *.png| JPeg 图像文件(*.jpg;*.jpeg)"
+ "|*.jpg;*.jpeg |GIF 图像文件(*.gif)|*.gif |BMP图像文件(*.bmp)|*.bmp|Tiff图像文件(*.tif;*.tiff)|*.tif;*.tiff|Png图像文件(*.png)"
+ "| *.png |所有文件(*.*)|*.*";
if (openFi.ShowDialog() == DialogResult.OK)
{
data = GetPictureData(openFi.FileName);//这就是要存的数据
this.Background = openFi.FileName;
}
}
public byte[] GetPictureData(string imagepath)
{
/**/
////根据图片文件的路径使用文件流打开,并保存为byte[]
FileStream fs = new FileStream(imagepath, FileMode.OpenOrCreate);//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
GC.Collect();
return byData;
}