2011-03-10 54 views
1

我試圖挽救這樣的圖像(從一個asp.net MVC應用程序):通用GDI +的錯誤時,試圖保存圖像(在64位Windows 7)

public static void SaveJpeg(string path, Image img) 
     { 
      var qualityParam = new EncoderParameter(Encoder.Quality, 100L); 
      var jpegCodec = GetEncoderInfo("image/jpeg"); 

      var encoderParams = new EncoderParameters(1); 
      encoderParams.Param[0] = qualityParam; 
      img.Save(path, jpegCodec, encoderParams); 
     } 

我給完全控制權限IIS_IUSRS的特定文件夾,嘗試使用模擬並授予模擬用戶的權限後,仍然不起作用。

這一切都有助於在x86的Windows

任何人知道的修復?

+0

它不起作用,你可以粘貼在這裏的任何錯誤信息? – 2011-03-10 15:54:34

+0

這個異常是否在'img.Save'行被拋出?通常是因爲權限。你確定你已經設置了權限嗎?你確定你的應用程序池在** IIS_IUSRS **用戶下運行嗎? – 2011-03-10 16:24:52

+0

我們需要知道錯誤是什麼,以及它在此代碼中出現的位置。 – dthorpe 2011-03-10 17:19:36

回答

4

嘗試不使用GDI,這樣例如創建一個文件:

System.IO.File.CreateText("YourPath").WriteLine("Hello"); 

然後你會決定,如果你有寫的問題或沒有。

請注意,在IIS中,您不僅需要在文件系統中啓用對該文件夾的寫入權限,還需要在IIS管理器中啓用對該文件夾的寫入權限。

如果你其實可以使用System.IO一個文件,試圖WinDbg連接到過程,會告訴你更多關於COM錯誤GDI +是給你的。