ASP.NET輸出PNG圖片時(shí)出現(xiàn)GDI+一般性錯(cuò)誤的解決方法
Code:
Response.Clear();
Response.ContentType = "image/PNG";
img.Save(Response.OutputStream, ChartFormat.Png);
竟然出現(xiàn)異常,是GDI+一般性錯(cuò)誤。但是如果格式是
Code:
Response.ContentType = "image/jpeg";
就不會(huì)報(bào)錯(cuò)。
好在以前遇到過(guò),改成
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這個(gè)流的無(wú)法往回讀取造成的,也就是它的CanSeek屬性
是false。png圖像生成的時(shí)候不像jpeg,不是流式的,已經(jīng)寫(xiě)入的就不再管了,而是需要往回
不斷地寫(xiě)入結(jié)構(gòu)數(shù)據(jù)。但是response流無(wú)法往回seek,所以直接用就不行了。改成一個(gè)可以
seek的MemoryStream,先生成好png圖片,然后再輸出到response流。
相關(guān)文章
ASP.NET實(shí)現(xiàn)個(gè)人信息注冊(cè)頁(yè)面并跳轉(zhuǎn)顯示
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)個(gè)人信息注冊(cè)頁(yè)面并跳轉(zhuǎn)顯示的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12asp.net程序在調(diào)式和發(fā)布之間圖片路徑問(wèn)題的解決方法
圖片顯示的時(shí)候,在VS調(diào)式時(shí)候,地址中有個(gè)虛擬文件名,發(fā)布后則沒(méi)有了.所以會(huì)有圖片顯示叉叉的情況.2009-12-12.NET6環(huán)境下實(shí)現(xiàn)MQTT通信及詳細(xì)代碼演示
本文詳細(xì)講解了.NET6環(huán)境下實(shí)現(xiàn)MQTT通信的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07asp.net 驗(yàn)證字符串是否為純數(shù)字檢測(cè)函數(shù)
如何驗(yàn)證字符串是否為純數(shù)字2010-03-03ASP.NET Core 7 Razor Pages項(xiàng)目發(fā)布到IIS的詳細(xì)過(guò)程
這篇文章主要介紹了ASP.NET Core 7 Razor Pages項(xiàng)目發(fā)布到IIS的詳細(xì)過(guò)程,詳細(xì)介紹了發(fā)布過(guò)程遇到的問(wèn)題及解決方法,對(duì)ASP.NET Core 發(fā)布到IIS相關(guān)知識(shí)感興趣的朋友一起看看吧2023-01-01利用Typings為Visual Studio Code實(shí)現(xiàn)智能提示功能
最近在學(xué)習(xí)Node.js及ThinkJS這個(gè)框架,用vscode作為開(kāi)發(fā)環(huán)境。默認(rèn)情況下vscode對(duì)ThinkJS的代碼提示并不好,所以研究了一下,原來(lái)可以同通過(guò)Typings來(lái)讓vscode擁有強(qiáng)大的智能代碼提示功能。下面本文就介紹了如何利用Typings為Visual Studio Code實(shí)現(xiàn)智能提示功能。2017-02-02通過(guò).NET 6實(shí)現(xiàn)RefreshToken
當(dāng)獲取到的Token過(guò)期以后,我們必須要重新請(qǐng)求認(rèn)證接口以獲取新的Token,為了提升用戶體驗(yàn),我們一般會(huì)利用Refresh Token功能,本文將具體為大家介紹一下如何實(shí)現(xiàn)Refresh Token,感興趣的可以學(xué)習(xí)一下2022-01-01.net core下配置訪問(wèn)數(shù)據(jù)庫(kù)操作
本篇文章給大家詳細(xì)分享了在.net core下配置訪問(wèn)數(shù)據(jù)庫(kù)的相關(guān)操作過(guò)程以及代碼實(shí)現(xiàn)過(guò)程,有興趣的朋友參考下。2018-03-03