色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ASP.NET輸出PNG圖片時出現GDI+一般性錯誤的解決方法

以下是原文:
Code:
復制代碼 代碼如下:
Response.Clear();
Response.ContentType = "image/PNG";
img.Save(Response.OutputStream, ChartFormat.Png);

竟然出現異常,是GDI+一般性錯誤。但是如果格式是
Code:
復制代碼 代碼如下:
Response.ContentType = "image/jpeg";

就不會報錯。
好在以前遇到過,改成
Code:
復制代碼 代碼如下:
Response.ContentType = "image/PNG";
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, ChartFormat.Png);
Response.OutputStream.Write(ms.GetBuffer(), 0, (int)ms.Length);
}

就可以輸入png圖片了。
這是由于Response.OutputStream這個流的無法往回讀取造成的,也就是它的CanSeek屬性
是false。png圖像生成的時候不像jpeg,不是流式的,已經寫入的就不再管了,而是需要往回
不斷地寫入結構數據。但是response流無法往回seek,所以直接用就不行了。改成一個可以
seek的MemoryStream,先生成好png圖片,然后再輸出到response流。

AspNet技術ASP.NET輸出PNG圖片時出現GDI+一般性錯誤的解決方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 西充县| 仁布县| 珠海市| 禹城市| 屏东县| 广安市| 北碚区| 简阳市| 大姚县| 汽车| 大理市| 柏乡县| 临湘市| 仙桃市| 永吉县| 星子县| 拜城县| 台东市| 张家口市| 平塘县| 黔江区| 公安县| 乌兰县| 靖州| 夹江县| 成都市| 常熟市| 衢州市| 龙陵县| 新乡市| 吉木萨尔县| 金坛市| 华池县| 东阳市| 临洮县| 渭源县| 漾濞| 青河县| 新竹县| 延寿县| 江西省|