0

在 .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 页面的正文标记的“内容”。

这样做是将bmp保存(写入)到磁盘然后将该文件用作图像标签的src的唯一方法是什么?或者有没有办法将它直接呈现到浏览器但仍然作为 html 页面的一部分?

4

1 回答 1

3

最简单的解决方案是使用这样的两个页面:

一个.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();
}
于 2012-11-24T17:41:33.307 回答