在.aspx页面上,我使用System.Drawing命名空间创建bmp。当bmp完成后,我将使用以下命令将其发送到浏览器:
using (MemoryStream ms = new MemoryStream())
{
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] buffer = ms.GetBuffer();
HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);
HttpContext.Current.Response.Flush();
}
这似乎只是将bmp发送到呈现它的浏览器 - 但不是作为html页面。你无法查看源代码 - 它似乎只是一个位图。
我希望将bmp发送到浏览器,但作为html页面的body标签的“内容”。
唯一的方法是将bmp保存(写入)到磁盘,然后将该文件用作图像标记的src吗?或者有没有办法直接将它呈现给浏览器,但仍然是html页面的一部分?
答案 0 :(得分:2)
最简单的解决方案是使用两个这样的页面:
a.aspx:
<img src="b.aspx" />
b.aspx:
using (MemoryStream ms = new MemoryStream())
{
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] buffer = ms.GetBuffer();
HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);
HttpContext.Current.Response.Flush();
}