【发布时间】:2016-10-07 14:44:57
【问题描述】:
如何让网页上的图像控件从 sqlreader 显示?
我有一个带有二进制数据和内容类型字段的 sqlreader,但不知道如何让它显示到我页面上的图像控件。
找到了“GetStream”方法,但找不到我需要的语法。
来自 sqlreader 的字段是: Image1,用于二进制数据 Image1Content,用于内容类型 (image/jpg) Image1Name,用于图像名称
页面上的图像控件是“Image1”
我正在后面的页面上分配其他控件,并希望对图像控件执行相同的操作。
试过了,但最后在 reader["Image1"] 中出现错误:
while (reader.Read())
Image1.ImageUrl = reader.GetStream("data:image/jpg;base64," + Convert.ToBase64String((byte[])reader.["Image1"]));
【问题讨论】:
-
有两种方法。 1)简单,2)不简单。 1)使用base64和数据协议进行图像。 2)您必须输入图像的ID,并使用ashx从数据库中获取图像。在阅读器中使用函数 getBytes 或 getStream。
-
@nick_n_a 请看我刚刚添加的代码。
-
如果您使用的是 Visual Studio,您可以通过键入
reader.GetStream(来找出语法 - 它会告诉您它需要一个int。 Get to know MSDN documentation. -
我是 asp.net 的新手,我不知道如何让 GetBytes 或 GetStream 从 SqlDataReader 读取存储在 Image1 字段中的二进制数据。