最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2009年01月10日 02:14:36   作者:  
偶原來的用ASP.NET生成驗(yàn)證碼圖片時(shí)用的是JPG格式,今天想把它改成PNG格式的,結(jié)果就出現(xiàn)GDI+一般性錯誤,查了N久資料,才發(fā)現(xiàn)解決的辦法,對分享此解決辦法的網(wǎng)友深表感謝
以下是原文:
Code:
復(fù)制代碼 代碼如下:

Response.Clear();
Response.ContentType = "image/PNG";
img.Save(Response.OutputStream, ChartFormat.Png);

竟然出現(xiàn)異常,是GDI+一般性錯誤。但是如果格式是
Code:
復(fù)制代碼 代碼如下:

Response.ContentType = "image/jpeg";

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

相關(guān)文章

最新評論

九龙坡区| 临潭县| 玉门市| 桑植县| 平湖市| 葵青区| 宜良县| 合阳县| 海城市| 天水市| 信丰县| 中牟县| 太原市| 锡林郭勒盟| 宁南县| 方正县| 岳西县| 阿拉善盟| 唐山市| 阳曲县| 红河县| 枞阳县| 邓州市| 扶沟县| 石楼县| 区。| 肥城市| 湘乡市| 中宁县| 蓬安县| 遵化市| 福鼎市| 静宁县| 平泉县| 嘉定区| 晋城| 滨海县| 揭东县| 东乡| 泾川县| 昌宁县|