如何从数据库中检索图像(存储的图像是二进制形式)

时间:2017-07-14 14:27:10

标签: c# asp.net

这是我想要显示图片的地方

`<asp:Repeater ID="rptr" runat="server">
<ItemTemplate>
  <asp:Image ID="img1" style="height:120px; width:120px" runat="server" />
</ItemTemplate>
</asp:Repeater>

` 这是我用来检索图片的代码

string query = "select Image from tblImage where UserName='" + uname + "'";
               DataSet ds = new DataSet();
              SqlDataAdapter da = new SqlDataAdapter(query, scon);
              da.Fill(ds);
              rptr.DataSource = ds;
              rptr.DataBind();

现在我想为转发器控件中存在的图像控件设置图像,但问题是我的图像以二进制形式存在,所以我不能将图像设置为图像ImageUrl='<%#Eval("Image") %>'(&#34; Image&#34;是表的列名,其中Image以二进制形式存储)。如何将图像转换为字符串格式并将其设置为ImageUrl

1 个答案:

答案 0 :(得分:0)

HTML img元素如下:

<asp:Image ID="image" style="height:120px; width:120px" runat="server"/>

在代码背后执行此操作:

image.src = "data:image/png;base64," + Convert.ToBase64String(imageBytes);

其中imageBytes是您从数据库中检索的byte []。

你完成了。将显示图像。