将文件保存到用户创建的文件夹

时间:2010-12-13 10:49:32

标签: c# acl

我(或多或少)有以下代码:

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。

为什么我不能将文件保存在刚刚创建的文件夹中?

1 个答案:

答案 0 :(得分:1)

很抱歉,伙计们,这是其他一些代码中的一个愚蠢的错误,它本质上已经转变了

File.WriteAllBytes(fileName, payload);

File.WriteAllBytes(folderName, payload);

:(

操作系统试图保存一个与文件夹名称相同的文件,而WTF是我收到的例外情况,它发送给我一个切线。