如何动态显示asp.net页面上的字节图像?
问题描述:
我已经从Web服务加载到我的asp.net网站的字节数组图像。 只要执行Web服务,我需要在网页上显示它。如何动态显示asp.net页面上的字节图像?
我一直在使用通用处理器试过,但我不能这样做,因为有没有办法通过字节[]图像到通用处理器
void Button2_Click1(object sender, EventArgs e)
{
this.verifyTemplates();
byte[] userImg;
try
{
matchTemp.templateService hs = new matchTemp.templateService();
bool s1 = hs.matchTemplates(template, out userID, out userName, out userImg);
// userImg is the byte image i need to display
}
catch(Exception exc)
{
// vLabel.Text = exc.Message;
}
}
答
什么你要找的是一个Data URL。你可以得到一个字节数组这样的BASE64(改变图像类型需要)
string imageBase64 = Convert.ToBase64String(userImg);
string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);
在视图:
<img src='"<%=imageSrc%>"' />
这不会在IE 7中运行或更早,如果你需要支持那些,那么你会想看看MHTML。
+1
看到转换为Base64增加了大约30%的编码值的大小,这可能不是一个选项。 – Oded 2012-03-23 11:48:32
+0
非常感谢:)多数民众赞成我正在寻找的东西:D – 2012-03-23 11:51:08
请张贴您的代码。 – Oded 2012-03-23 11:36:37
@oded:ok done :) – 2012-03-23 11:41:08
图像数据来自哪里? “通用处理程序”代码在哪里?你究竟想在点击事件处理程序中做什么? – Oded 2012-03-23 11:41:44