从数据库中获取图像到ASHX文件并显示到中继器中

本文关键字:显示 中继器 文件 ASHX 获取 图像 数据库 | 更新日期: 2023-09-27 18:11:43

我想在ASHX文件的帮助下从数据库显示图像到中继器控件。我是ASP.net的初学者。如果你能给我提供任何代码示例,那将是非常有帮助的。

编辑,从注释

我正试图从数据库中获得图像到中继器控制。

这是我在aspx.cs文件中所做的

cnn.Open(); 
SqlDataAdapter da1 = new SqlDataAdapter("select * from carousel", cnn);
DataTable dt1 = new DataTable(); da1.Fill(dt1);
Rp1.DataSource = dt1;
Rp1.DataBind();

this is my repater

<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("ID")%>'/> 

但是我在结果中得到了src="system.Byte"

我知道这是因为来自数据库的值是一个字节数组,代表图像的实际数据。我想知道ASHX

从数据库中获取图像到ASHX文件并显示到中继器中

我在评论中提到的问题有一些很好的例子,告诉你如何把图片放在你的网站上。这就是我引用的问题。

特别是,这个答案显示了您需要使用的方法的一个很好的例子。

基本上,因为您从数据库中获取图像作为字节数组(例如,实际图像本身,而不是对图像的引用),因此您需要使用与使用ImgUrl属性的<asp:Image/>标记略有不同的方法。

总而言之,您将执行如下操作(参考另一个答案):

创建一个像这样的常规HTML img元素:

<img runat="server" id="image"  />

在后面的代码中这样做:

image.src="data:image/png;base64,"+Convert.ToBase64String(imageBytes);

其中imageBytes为byte[]