2013-05-30 60 views
0

我有一個例外Unauthorized Access當我這樣做:未經授權的訪問異常,當我嘗試創建一個目錄

if (fileurl != null && fileurl.ContentLength > 0) 
       { 
       var fileName = Path.GetFileName(fileurl.FileName); 
       // var path = AppDomain.CurrentDomain.BaseDirectory + fileName; 
       var path = Path.Combine(@"C:\Projets", fileName); 
       fileurl.SaveAs(path); 
       string path2 = Path.GetFileNameWithoutExtension(path); 
       Directory.CreateDirectory(path2); 

我保存壓縮文件fileurl.SaveAs(path);,我想Ø在同一路徑下創建新目錄。我驗證路徑path2,這是可以的。但指令Directory.CreateDirectory(path2);失敗,並且出現Unauthorized Access的例外。

爲什麼會發生這種情況?我該如何解決它?

+0

你打算創建一個目錄(文件夾),它具有相同的名稱爲文件(你剛剛保存的)? –

回答

1

這聽起來像一個權限問題。確保您的用戶具有讀/寫文件權限。

+0

我是管理員 – Lamloumi2

+0

不,請確保fileurl.SaveAs(路徑)具有寫入權限。嘗試將該文件的權限更改爲777或上面的目錄 –

+0

好的,當然。標記我試圖幫助。現在感覺更像StackExchange。 –

0

您的意思是將路徑設置爲C:\ Projets或C:\項目? 您可能會在不存在的路徑上進行未經授權的訪問

+0

我遭到未經授權的訪問 – Lamloumi2

+2

@ Lamloumi2他說你可能使用了不正確的路徑。 – ediblecode

0

您將此標記標記爲ASP.NET,因此您無法執行控制檯或Windows窗體應用程序。在服務器端,並與不同的用戶帳戶運行

您的Web應用程序。

你需要給權限的應用程序池正在運行的用戶,也因爲這是你需要寫入目錄下你的網站或其他虛擬目錄的Web應用程序,其通過應用程序池的用戶訪問。

0

你需要檢查運行Web應用程序的應用程序池的標識。默認標識對C:\ Projets等沒有權限。您需要明確授予用戶或身份的用戶組,並寫入C:\ Projets。