【问题标题】:display images in repeater control from linq datasource在来自 linq 数据源的转发器控件中显示图像
【发布时间】:2013-03-02 11:41:05
【问题描述】:

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

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

<% Eval("CategoryImage")%> .

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

有人可以建议我一种通过linq datasource.. 直接从mysql database 本身插入图像的方法@
以及如何在堆栈溢出和 asp 标记中格式化 html 标记。

在此先感谢您的帮助...

【问题讨论】:

  • 需要将字节数组转为图片
  • 我知道的一种方法是创建http-handler 并提供该处理程序的图像源。
  • @Shekhar 我收到此错误:ByteArrayToImage(Byte[]) 在 上有一些无效参数,请帮助..

标签: asp.net mysql linq repeater


【解决方案1】:

你可以使用这个功能

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

将字节数组转换为图像。

如果你在Eval("CategoryImage") 中有byte array,那么你也可以从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?

【讨论】:

  • @ub1k 老兄,你有火车要赶吗.. 我会接受,但让我继续努力。
  • @Shekhar 我没有得到一个字节数组,而只是 System.Byte[] 作为浏览器中使用 的输出。你能帮我解决这个问题吗? .
  • 老兄你的回答很明显你不知道你在说什么:( Byte[] 是一个 Byte 数组...
  • @ub1k 你知道对这个问题有什么建议吗然后请告诉我..或者不要参加我的智商测试..我知道我不像你那样是一个伟大的学者..跨度>
  • 这只是Shekhar提供的答案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-07
  • 1970-01-01
  • 2011-09-21
  • 2013-01-10
  • 1970-01-01
  • 2014-10-05
相关资源
最近更新 更多