我在打印/保存网页执行期间创建的图像并通过 Response.OutputStream 发送到浏览器时遇到问题。
我有这个简单的功能:
private void makepng()
{
// INFO: the MyBitmapFile bitmap is created here, and then streamed to browser below:
Response.Clear();
Response.ClearHeaders();
Response.ContentType = "image/png";
using (MemoryStream ms = new MemoryStream())
{
MyBitmapFile.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.WriteTo(Response.OutputStream);
}
Response.End();
}
它还在浏览器中显示图像,但您无法打印或右键单击图像并保存
如果这样做,我会收到一个弹出错误消息,显示“正在保存或检索的文件类型已被阻止”。
如果我将
makepng()
称为 中唯一的东西protected void Page_Load(object sender, EventArgs e)
,那么一切正常,我可以打印/保存。但是,如果我通过单击按钮调用它,则会显示图像,但我无法打印/保存它 - 并得到上面的错误。
我认为问题出在按钮的回发上,但我不知道如何让它工作。