Image.Save()发生“GDI+ 中发生一般性错误”
從數(shù)據(jù)庫中讀取的圖片是byte[]類型,將其轉(zhuǎn)換成Image可以正常顯示,但是調(diào)用image.Save()時(shí)會(huì)發(fā)生“GDI+?中發(fā)生一般性錯(cuò)誤”。
public?static?System.Drawing.Image?ToImage(byte[]bytes)
{
????System.IO.Stream?ms?=?new?System.IO.MemoryStream(bytes);
????System.Drawing.Image?image?=System.Drawing.Image.FromStream(ms);
????ms.Close();
????image.Save("C:\\1.bmp");//這一句出錯(cuò)
????return?Image;
}
怎樣解決呢?
=====================================================================
在開發(fā).NET應(yīng)用中,使用?System.Drawing.Image.Save?方法而導(dǎo)致“GDI+?中發(fā)生一般性錯(cuò)誤”的發(fā)生,通常有以下三種原因:
1.?相應(yīng)的帳戶沒有寫權(quán)限。
解決方法:賦予?NETWORK?SERVICE?帳戶以寫權(quán)限。
2.?指定的物理路徑不存在。
解決方法:
在調(diào)用?Save?方法之前,先判斷目錄是否存在,若不存在,則創(chuàng)建。
if?(!Directory.Exists(dirpath))
Directory.CreateDirectory(dirpath);
3.?保存的文件已存在并因某種原因被鎖定。
解決方法:
重啟IIS,解除鎖定。并在代碼中使用?using?語句,確保釋放?Image?對象所使用的所有資源。
總結(jié)
以上是生活随笔為你收集整理的Image.Save()发生“GDI+ 中发生一般性错误”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么国六标准的车会这么贵啊?
- 下一篇: maven打包出错: Failed to