C#MVC 5将动态二进制图像显示为base64
本文关键字:显示 base64 图像 二进制 动态 C#MVC | 更新日期: 2023-09-27 18:21:02
好。我有一个基本的MVC5网络应用程序。我将图像以二进制形式存储在SQL数据库中。到目前为止一切都很好。
我可以上传不同的图像类型:png,jpg,gif。。。
当我读取图像(来自数据库的二进制)并显示它时,我的问题是,如何动态格式化data:image/gif;base64,XXXXXXXXXXXXXXXXXXXXXXXXX
?
更确切地说,我如何获得它的类型,image/gif
、image/png
或image/jpg
。。。从那个二进制图像?
使用ImageCodecInfo:
byte[] bytes; //get from DB
...
using (var ms = new System.IO.MemoryStream(bytes))
{
using(var img = Image.FromStream(ms))
{
var type = GetMimeType(img);
}
}
public static string GetMimeType(Bitmap image)
{
var type = ImageCodecInfo.GetImageDecoders().FirstOrDefault(codec => codec.FormatID == image.RawFormat.Guid);
return type != null ? type.MimeType : "image/unknown";
}