2017-07-14 58 views
-1

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

`<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但问题是,我的形象存在在二进制形式,所以我不能将imageurl设置为图像ImageUrl='<%#Eval("Image") %>'(“图像”是以二进制形式存储图像的表的列名称)。我如何可以将图像转换成字符串格式,并设置成的ImageUrl

回答

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 []从数据库中检索。

你完成了。图像将被显示。

+0

但是,因为,图像控制是中继器控制范围内本我不能得到的IMGE控制 –

+0

的图像标识尝试这 - 的foreach(在rptr.Items的RepeaterItem项) { 图片图像=(图像)item.FindControl ( “IMG1”); System.Diagnostics.Debug.WriteLine(image.ImageUrl); } – LogicalDesk

+0

它会显示数据库中存在的所有图像还是只有一个? –

相关问题