Web ページの実行中に作成し、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)
すべてが機能し、印刷/保存できます。しかし、ボタンクリックで呼び出すと、画像は表示されますが、印刷/保存できず、上記のエラーが発生します。
問題はボタンのポストバックにあると思いますが、それを機能させる方法がわかりません。