如何将图像保存到数据库中
本文关键字:数据库 保存 图像 | 更新日期: 2023-09-27 18:13:38
我使用WPF插入图像到我的MySQL数据库。我可以上传文件到image control,但是我不知道如何保存。
这是我目前所做的。emp_image
是显示照片的图像控件。
private void btn_save_image_click(object sender,...)
{
Mysqlconnection cn= new mysqlconnection(connectionstring);
byte[] imagedata;
imagedata=File.ReadAllBytes(emp_img); //..here is error,it says has invalid arguments..//
mysqlcommand= new mysqlcommand("insert into dep_table(photo)values(?data)",cn);
cmd.parameters.addwithvalue("?data", imagedata);
cn.open();
cmd.executeNonQuery();
cn.close();
}
您需要将图像源转换为字节[]:
public static byte[] ImageToArray(BitmapSource image)
{
var encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(image));
using (var stream = new MemoryStream())
{
encoder.Save(stream);
return stream.ToArray();
}
}
然后调用函数:
imagedata = ImageToArray((BitmapSource)emp_img.Source);
您似乎没有传递文件路径。
请检查File::ReadAllBytes方法
应该像
var imagedata=File.ReadAllBytes(filepath);