我想将数据库中的图像调用到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。 基本上有两种方法可以解决这个问题……
- 创建一个单独的页面(或者最好是ASHX处理程序), 它只返回图像的数据(没有HTML或类似的东西)并链接到该页面。
- Base-64对字节数组进行编码,并将其作为
src
属性中的数据URI包含在内。
第一个在线选项有很多教程。 这个是通过快速谷歌搜索找到的,还有其他一些。 本质上,处理程序要做的是接受查询字符串上的标识符,使用该标识符从数据库中获取图像,然后将相应的标题和内容写入响应。 然后, src
属性的URL将成为该处理程序。 就像是:
ImageUrl='<# "~/handler.ashx?id=" + Eval("id") #>'
(或者您的数据绑定数据用作图像的标识符。)
假设你的图像列名在数据库“ImageName”中
解决方案1:如果你的图像在根文件夹中
OR
解决方案2:如果您的图像在图像文件夹中
要么
您的最终解决方案
OR
您需要在URI中转换IMG HTML标记:
" />
或同等学历。