编辑:
我从 cmets 了解到您的问题是:
如何将 ASP.Net 图像的 src 设置为 base64 编码数据?
要么
如何在asp.net图像中以不同格式显示来自数据库的图像?
假设您从数据库中获取图像字节并且您有一个 img 标签
<img id= "img" runat= "server" />
你可以像这样为 byte[] 创建一个扩展方法
// Add a new csharp file to your project
// Add below code to it
public static class DrawingExtensions
{
public static string ConvertToBase64ImageFormat ( this byte[] b, ImageFormats f)
{
// you can find other formats image mimeType and add all you need
string mt = system.Net.Mime.MediaTypeNames.Image.Tiff;
string i = Convert.ToBase64String(b);
return string.Format("data:{0};base64,{1}",mt,i);
}
}
public enum ImageFormats
{
Jpeg
Png ,
// And other formats
}
在你的webform页面上使用这样的方法
public partial class DisplayImagePage:Page
{
public void ibDisplayImg_click(object sender,EventArgs e)
{
// read image bytes from database
Byte[] i= ReadImageFromDatabase();
img.Src = i.ConvertToBase64ImageFormat( ImageFormats.Png);
}
}
如果您想要其他类型的图像的 mime 类型,他们可以使用
System.Web.MimeMapping
并像这样使用
string mimeType = MimeMapping.GetMimeMapping(fileName);
context.Response.ContentType = mimeType;
更多信息:
https://msdn.microsoft.com/en-us/library/ms525208(v=vs.90).aspx
https://msdn.microsoft.com/en-us/library/system.web.mimemapping.getmimemapping.aspx