在linq数据源的转发器控制中显示图像

时间:2013-03-02 11:41:06

标签: asp.net mysql linq repeater

我在asp.net中有一个转发器控件linq datasource 我想显示存储在数据库表中的图像。

当我使用此代码时,我有一个类别表和产品表以及其他表格

<% Eval("CategoryImage")%> .

它在浏览器中显示System.byte[],当我使用Eval();的asp图像控件时,它会给我一个通常的破碎图像图标。

有人可以建议我通过mysql database来直接从linq datasource..本身插入图片 我怎么能在堆栈溢出和asp标签中格式化html标签..

在此先感谢帮助赞赏...

1 个答案:

答案 0 :(得分:3)

您可以使用此功能

 public Image byteArrayToImage(byte[] byteArrayIn)
 {
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
 }

将字节数组转换为图像。

如果byte array中有Eval("CategoryImage"),那么您也可以从Eval调用此功能。
正如

<%# byteArrayToImage(Eval("CategoryImage"))%>

未经测试但应该可以使用。

编辑1

这是一个很好的链接
argumentException was unhandled error when converting byte of array to image
How to convert byte array to image and display in datagrid?