2010-02-14 37 views
1

我正在運行Windows Vista業務64位。我有一個使用C#編寫的.NET Web服務。我還在與Web服務通信的網頁上有一個客戶端腳本。這是一個名爲「Default.aspx」的aspx頁面。我設置了IIS,並將包含Web服務和包含default.aspx頁面所需的所有文件的Web服務文件夾移動到C:\ inetpub \ wwwroot中。我打開IIS管理器並正確配置了一切。 http://localhost/mysite/Default.aspx工作正常。頁面加載。但是,當我嘗試上傳圖片時,我現在收到錯誤消息。 (Default.aspx頁面上有一個圖像上傳器)目的是在將圖像提交到Web服務之前上傳和裁剪圖像:請幫我找到「GDI +中發生的一般錯誤」的解決方案

順便說一句,這整個事情已經過測試,並在另一臺計算機上工作,所以我沒有考慮到代碼中存在錯誤,儘管可能存在但我認爲還有其他問題。由於我是一個新手,我很感激喲很多答案與解決方案的說明

GDI +中發生了一般性錯誤。說明:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Runtime.InteropServices.ExternalException:在GDI +中發生了一般性錯誤。

源錯誤:

在當前web請求的執行過程中生成未處理的異常。關於異常的來源和位置的信息可以使用下面的異常堆棧跟蹤來標識。

堆棧跟蹤:

[ExternalException(0X80004005):在GDI +發生一般性錯誤] System.Drawing.Image.Save(字符串文件名,ImageCodecInfo編碼器,EncoderParameters encoderParams)377630 System.Drawing.Image對象。保存(字符串文件名,ImageFormat格式)+69 FaceRecognition._Default.previewBtn_Click(Object sender,EventArgs e)在D:\ Project Details \ Layne Projects \ DotNet Project \ FaceRecognition \ FaceRecognition \ Default.aspx.cs:114 System.Web。 UI.WebControls.Button.OnClick(EventArgs e)+111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)+110 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent( String eventArgument)+10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)+13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)+36 System.Web.UI.Page.ProcessRequestMain(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint)+1565

+0

看起來您的代碼中存在一個錯誤。你知道,沒有人可能希望調試但沒有實際讀取它的代碼;) – Juliet 2010-02-14 02:44:35

+0

代碼問題?可能會更好堆棧溢出 – 2010-02-14 02:34:28

+0

請在您的代碼請投入。 – Jeff 2010-02-15 01:56:38

回答

0

沒有發佈任何代碼,這是很難說。但是,考慮到它是一個ASP.NET環境,並且它「在你的機器上工作」(或者至少這是暗示),我的第一印象就是看用戶是否認爲ASP.NET進程正在運行下有寫入目錄,您試圖將圖像保存到。

如果確實如此,則應該爲運行該Web應用程序的用戶分配寫入權限。

但是,不會將分配給與IIS進程或ASP.NET進程相關聯的用戶之一。這些是特殊帳戶,您通常不應爲其分配額外的權限。

相反,創建一個標準的用戶,並具有根據該身份(足夠容易通過的web.config做的),然後你的web應用程序的運行給用戶的權利,寫信給你是保存圖像做目錄。

如果您正在模擬已登錄的用戶,那麼您必須確保每正在嘗試保存映像的用戶擁有您保存目錄的權限。最好通過將所有這些用戶放在一個組中,然後將權限和用戶分配給該特定組來完成。

0

我以前有這個錯誤,這是由於目標文件夾缺乏權限。 ASPNET是否有權寫入您指定的文件夾?

+0

我不確定,我怎麼知道? – brandon 2010-02-14 02:48:27

+0

一種方法是使用sysinternal的filemon。或者直接找出你正在使用的路徑(或以某種方式登錄),進入IIS框中的文件夾,看看你有什麼權利。 – 2010-02-14 02:50:21

0

檢查要保存文件的文件夾的寫入權限。權限必須分配給NETWORK SERVICE用戶。

相關問題