行。我有一个基本的MVC5网络应用程序。我将图像存储为SQL DB中的二进制文件。到目前为止一切都很好。
我可以上传不同的图片类型:png,jpg,gif ...
当我读取图像(来自db的二进制文件)并显示它时,我的问题是,如何动态格式化data:image/gif;base64,XXXXXXXXXXXXXXXXXXXXXXXXX
?
更确切地说,如何从该二进制图像中获取它的类型image/gif
或image/png
或image/jpg
...
答案 0 :(得分:1)
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";
}