我知道可以这样做:
<asp:Image runat="server" ImageUrl="~/MyImageHandler.ashx?imageid=2" />
...但我有一种情况,字节数组数据只对页面可用(即,在会话中不可用,并且不能被id引用)所以我不能将ImageUrl指向另一个页。
有没有办法给asp:图像字节数组呈现为图像?
答案 0 :(得分:3)
您必须处理的主要问题是<asp:Image/>
元素会呈现为常规<img />
,需要src
属性指向某个网址。
在这种情况下,我看到了两个毛茸茸的选择:
使用here描述的技术将编码在Base64中的图像嵌入src
属性中。请注意,不可以使用Internet Explorer。
将Base64编码的图像作为隐藏的<input />
元素嵌入到页面中。然后,您可以使用JavaScript将数据返回发送到服务器,然后使用Response.Write()
将其发送回浏览器(当然,确保正确设置Content-Type)
答案 1 :(得分:2)
唯一合适的解决方案是将字节数组放入会话中。如果您担心唯一性(多人获取彼此的字节数组),请使用随机GUID作为密钥。