我試圖「重新保存」一個圖像,並得到錯誤「GDI +中發生了一般性錯誤」。我已經做了一些搜索這個錯誤,但還沒有找到解決方案!大部分的建議提到:「在GDI +中發生了一般性錯誤」保存
- 檢查該流不使用或鎖定(即文件流)
- 確保流未設置爲對象的生命週期(不應該因爲你見下文)
- 試圖將位圖對象中複製的對象,並用它來保存(沒有爲我工作)
我正在使用的代碼如下:
using (Stream @imageStream = ResourceManager.CreateFile(finalResourceId, imageFileName))
{
using (MemoryStream ms = new MemoryStream(imageFile.ResourceObject))
{
using (Image img = Image.FromStream(ms))
{
imageWidth = img.Width;
imageHeight = img.Height;
img.Save(@imageStream, img.RawFormat);
}
}
}
在上面的代碼中,ResourceManager.CreateFile
返回相當於MemoryStream
,因此不應該有任何「資源問題」。
我不假設其他人遇到過這個問題,並且能夠分享他們的解決方案嗎?在此先感謝您的幫助!
只要你知道,你可以結合那些使用語句。 – 2009-11-02 04:04:27
有你要保存的文件夾獲得ASPNET_MACHINE和NETWORKSERVICE寫入權限? – Scozzard 2009-11-02 04:10:50
嗨,感謝您對使用陳述的建議。 至於權限查詢 - 這些不應該發揮作用,因爲我沒有寫入文件系統,而是將所有內容都保存在內存中。 – 2009-11-02 04:13:22