如何转换二进制图像和显示它在中继器

本文关键字:显示 中继器 图像 二进制 何转换 转换 | 更新日期: 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;
        }