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