我想将数据库中的图像调用到ASP:转发器控件但是我得到了的结果

这是我在aspx文件中的代码

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

这是转发器

   
<asp:Image ID="Image1" ImageUrl='' runat="server" />

我尝试了所有的东西,但每次我真的想要一些帮助时我都会得到结果,我是ASP.Net的新手

这是因为来自数据库的值是表示图像实际数据的字节数组。 而img标签的src需要一个图像的URL。 基本上有两种方法可以解决这个问题……

  1. 创建一个单独的页面(或者最好是ASHX处理程序), 它只返回图像的数据(没有HTML或类似的东西)并链接到该页面。
  2. Base-64对字节数组进行编码,并将其作为src属性中的数据URI包含在内。

第一个在线选项有很多教程。 这个是通过快速谷歌搜索找到的,还有其他一些。 本质上,处理程序要做的是接受查询字符串上的标识符,使用该标识符从数据库中获取图像,然后将相应的标题和内容写入响应。 然后, src属性的URL将成为该处理程序。 就像是:

 ImageUrl='<# "~/handler.ashx?id=" + Eval("id") #>' 

(或者您的数据绑定数据用作图像的标识符。)

假设你的图像列名在数据库“ImageName”中

解决方案1:如果你的图像在根文件夹中

   OR  

解决方案2:如果您的图像在图像文件夹中

  

要么

  

您的最终解决方案

   
OR

您需要在URI中转换IMG HTML标记:

 " /> 

或同等学历。