2012-04-10 186 views
2

我有一个SQL Server 2008表与图像类型列,我用它来存储图像(在SQL图像类型)。从数据表在列表视图中显示图像

我有一个ASPX页面上有一个列表视图,它绑定到从包含该图像的查询填充的数据表。填充数据表时,会获取图像字段的值。

现在我想显示该列表视图的每个字段的图像。我使用<%# Eval("ColumnA") %>类似的语法来显示从该查询中获取的文本,但我不知道如何显示该查询中的图像。 (例如,使用哪个控制使用哪个语法?)

+0

此链接显示了一个示例:http://www.aspsnippets.com/Articles/Display-Images-from-SQL -Server-Database-using-ASP.Net.aspx – Josh 2012-04-10 19:49:48

+0

我不是在寻找一种解决方案,它包含在数据库中保存图片URL而不是图片本身。 – Farshid 2012-04-10 19:49:54

+0

感谢乔希,但我正在寻找一种涉及这样的Eval表达的方式。 – Farshid 2012-04-10 19:51:16

回答

2

尝试Data URL scheme

<img src="<%# ReturnEncodedBase64UTF8(Eval("ColumnA")) %>" /> 

protected static string ReturnEncodedBase64UTF8(object rawImg) 
{ 
    string img = "data:image/gif;base64,{0}"; //change image type if need be 
    byte[] toEncodeAsBytes = (byte[])rawImg;   
    string returnValue = System.Convert.ToBase64String(toEncodeAsBytes); 
    return String.Format(img, returnValue); 
} 
+0

让我检查它亲爱的里克 – Farshid 2012-04-10 20:07:43

+0

无法转换'System.Byte []'类型的对象来键入'System.String'。 – Farshid 2012-04-10 20:12:34

+0

因为我需要做一个:System.Text.Encoding.UTF8.GetBytes((string)rawImg); – Farshid 2012-04-10 20:12:55