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

ASP.NET輸出PNG圖片時(shí)出現(xiàn)GDI+一般性錯(cuò)誤的解決方法

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

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

就不會(huì)報(bào)錯(cuò)。
好在以前遇到過(guò),改成
Code:
復(fù)制代碼 代碼如下:
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這個(gè)流的無(wú)法往回讀取造成的,也就是它的CanSeek屬性
是false。png圖像生成的時(shí)候不像jpeg,不是流式的,已經(jīng)寫入的就不再管了,而是需要往回
不斷地寫入結(jié)構(gòu)數(shù)據(jù)。但是response流無(wú)法往回seek,所以直接用就不行了。改成一個(gè)可以
seek的MemoryStream,先生成好png圖片,然后再輸出到response流。

AspNet技術(shù)ASP.NET輸出PNG圖片時(shí)出現(xiàn)GDI+一般性錯(cuò)誤的解決方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 徐闻县| 甘泉县| 临泉县| 桂东县| 濮阳县| 招远市| 乌苏市| 巴林右旗| 麻江县| 铜鼓县| 璧山县| 诸城市| 云林县| 临湘市| 通山县| 康平县| 岗巴县| 青田县| 西畴县| 三明市| 威海市| 贺兰县| 山东| 洪江市| 洛浦县| 都昌县| 伊川县| 安阳市| 习水县| 新龙县| 昌都县| 古浪县| 安岳县| 三亚市| 东山县| 富川| 资溪县| 吉木乃县| 游戏| 拉孜县| 东海县|