我正在使用WPF将图像插入MySQL数据库。我可以将文件上传到图像控件,但我不知道如何保存它。
这是我到目前为止所做的。 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();
}
答案 0 :(得分:1)
您需要将图像源转换为byte []:
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);
答案 1 :(得分:-1)