如何将BitmapImage类型ImageSource存储到图像类型数据库
答案 0 :(得分:2)
只需将其转换为字节数组,并将数据库中的图像定义为varbinary(MAX)
您可以使用以下代码:
public static Byte[] ConvertToByteFromBitmapImage(BitmapImage bitmapImage)
{
byte[] data;
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bitmapImage));
using(MemoryStream ms = new MemoryStream())
{
encoder.Save(ms);
data = ms.ToArray();
}
return data;
}
注意:您可以使用ans简单地将BitmapImage
转换为ImageSource
。
答案 1 :(得分:0)
Stream stream = File.OpenRead("<your filePath>");
var buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int) stream.Length);
现在您可以使用数据类型varbinary(MAX)将缓冲区保存到列中。 如果你把它们存放在一块块中就好了。