我有一个用WPF 3.5编写的应用程序,它在某些时候将数据保存在SQL Server中包含图像,这是保存数据的代码的一部分(注意this.pictureImage
是WPF {{1控制): -
Image
运行此命令并单击“保存到数据库”按钮后,出现以下错误。
从对象类型System.Windows.Controls.Image到已知的托管提供程序
,不存在任何映射
在SQL Server数据库中,我有一行(Picture(Image,null))。
请告诉我。谢谢你。
答案 0 :(得分:0)
您无法在数据库中保存Image
控件。相反,您应该通过适当的位图编码器在Image控件的Source
属性中对图像进行编码,并将编码的缓冲区存储为字节数组。
byte[] buffer;
var bitmap = pictureImage.Source as BitmapSource;
var encoder = new PngBitmapEncoder(); // or one of the other encoders
encoder.Frames.Add(BitmapFrame.Create(bitmap));
using (var stream = new MemoryStream())
{
encoder.Save(stream);
buffer = stream.ToArray();
}
// now store buffer in your DB