如何转换二进制图像和显示它在中继器
本文关键字:显示 中继器 图像 二进制 何转换 转换 | 更新日期: 2023-09-27 18:02:59
protected void rptProducts1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Image img = (Image)e.Item.FindControl("imgProduct");
if (img != null)
{
var Binary = img.ImageUrl;
img.ImageUrl = "data:image/png;base64," + (lstProductModel.Select(v => v.Picture = "" + Convert.ToBase64String(v.PictureBinary)));
}
}
错误是当我试图将二进制图像格式转换为base64string图像不显示。所以请帮我解决这个问题。
从sql server数据库中读取/检索以二进制形式存储的图像,并在Repeater数据控件中显示
bytes = (byte[])dt.Rows[i]["BookPic"];
base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
Image img = (Image)rptBooks.Controls[i].FindControl("ImgBookPic");
img.ImageUrl = "data:image/png;base64," + base64String;
点击http://www.webcodeexpert.com/2014/04/upload-and-save-image-in-binary-format.html
Asp代码:
<asp:Image ID="image" runat="server" />
从数据库中检索二进制数据的c#代码:
byte[] picbyte = (byte[])reader["image"];
ByteArrayToImagebyMemoryStream(picbyte);
string base64String = Convert.ToBase64String(picbyte, 0, picbyte.Length);
image.ImageUrl = "data:image/png;base64," + base64String;
使用这个方法:
public static Image ByteArrayToImagebyMemoryStream(byte[] imageByte)
{
MemoryStream ms = new MemoryStream(imageByte);
Image image = Image.FromStream(ms);
return image;
}