2012-03-09 45 views
2

大家好我正在嘗試使用c#mvc3創建一個文件夾。我在我的控制器中有以下代碼使用c#.net創建相對文件夾.net

string path = Path.Combine("~/Content/albums", album.title.Replace(" ", "")); 
Directory.CreateDirectory(path); 

但它似乎沒有創建文件夾。我一直在使用目錄,而相對路徑嘗試,它的作品

Directory.CreateDirectory("c:/test"); 

謝謝

+0

當您嘗試此操作時,內部路徑是什麼? – 2012-03-09 11:43:36

+0

您需要爲ASP.Net應用程序分配適當的權限才能讀取和寫入目錄。其次查看HttpServerUtility.MapPath以瞭解應用程序路徑。 http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx – Lloyd 2012-03-09 11:44:36

+0

嗯「〜/內容/專輯\\走了」走了是專輯的標題@SimonEdström – 2012-03-09 11:45:42

回答

7

嘗試使用Server.Mappath(在控制器)或System.Web.Hosting.HostingEnvironment.MapPath(如果控制器外)先上的內容,它的虛擬資源路徑映射到物理路徑, 這樣:

string contentPath = Server.MapPath("~/Content/albums"); 
string path = Path.Combine(contentPath, album.title.Replace(" ", "")); 

,然後創建目錄。

+0

做了竅門tnx – 2012-03-09 11:48:23

2

嘗試這個保證,因爲你指出它不是一個有效的路徑。

string physicalPath = Server.MapPath("~/Content/albums"); 
string path = Path.Combine(physicalPath , album.title.Replace(" ", "")); 

Directory.CreateDirectory(path);