2010-12-13 62 views
1

我有(或多或少)以下代碼:保存文件到用戶創建的文件夾

private static void SaveFolder(MyFolder folder, string location) 
{ 
    string folderName = Path.Combine(location, folder.Name); 
    DirectoryInfo di = Directory.CreateDirectory(folderName); 
    foreach (MyFile childItem in folder.Children) 
    { 
    string fileName = Path.Combine(di.FullName, childItem.Name); 
    byte[] payload = GetFilePayload(childItem); 
    File.WriteAllBytes(fileName, payload); 
    } 
} 

該應用程序是一個辦公室加載,即管理該機器上的用戶下運行( WinXP)

我創建文件夾沒有問題,但是當我創建文件(File.WriteAllBytes行)時,我得到一個UnauthorizedAccessException。

爲什麼我無法將文件保存在我剛創建的文件夾中?

+0

folder.Children包含什麼? 很可能這是包含文件夾iteslf。 – TalentTuner 2010-12-13 11:26:01

+0

@Saurabh'folder.Children'包含'MyFile'類型的對象。 – 2010-12-13 11:58:47

+0

@Saurabh - 是的,'folder.Children'具有可以保存到文件的項目。如果我嘗試將它們保存在「位置」位置,則可以毫無問題地保存它們。 – SWeko 2010-12-13 12:13:17

回答

1

對不起,夥計們,這是在其他一些代碼中的錯誤愚蠢的,基本上轉化

File.WriteAllBytes(fileName, payload); 

File.WriteAllBytes(folderName, payload); 

:(

操作系統試圖保存文件與該文件夾的名稱相同,並且WTF是我收到的例外情況,這就是我發送的一條切線。