C# 如何将图像保存到数据库中?
我正在使用WPF向我的MySQL数据库插入一个图像。我可以上传文件到图像控制,但我不知道如何保存它 这是我到目前为止所做的。C# 如何将图像保存到数据库中?,c#,mysql,wpf,C#,Mysql,Wpf,我正在使用WPF向我的MySQL数据库插入一个图像。我可以上传文件到图像控制,但我不知道如何保存它 这是我到目前为止所做的。emp_图像是显示照片的图像控件 private void btn_save_image_click(object sender,...) { Mysqlconnection cn= new mysqlconnection(connectionstring); byte[] imagedata; imagedata=Fil
emp_图像
是显示照片的图像控件
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();
}
似乎您没有传递文件路径 请查收 应该是
var imagedata=File.ReadAllBytes(filepath);
您需要将图像源转换为字节[]:
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);
“emp_img”是什么类型的与图像本身相反,最好存储图像的路径。@Nikita emp_img是一个显示图像的图像控件,我想将该图像保存到数据库表是
emp_img
正确的文件路径?@MikeEason你的意思是从openfile对话框中提供路径?这比replywbmp.SaveJpeg更好没有啤酒!是否缺少任何命名空间?System.Windows.Media.Imaginagi已经有了它。但是它说它没有包含“SaveJpeg”的定义。SaveJpeg是Windows Phone。请参阅,但将memStream.GetBuffer()
替换为memStream.ToArray()
。