繁体   English   中英

如何将c#imagesource存储到数据库中?

[英]How to store c# imagesource into database ?

如何将BitmapImage类型ImageSource存储到图像类型数据库中

只需将其转换为字节数组,然后在数据库中将图像定义为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,只需将BitmapImageImageSource

Stream stream = File.OpenRead("<your filePath>");
 var buffer = new byte[stream.Length]; 
 stream.Read(buffer, 0, (int) stream.Length);

现在,您可以将缓冲区保存到数据类型为varbinary(MAX)的列中。 如果将它们分块存储,则很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM