我(或多或少)有以下代码:
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 :(得分:1)
很抱歉,伙计们,这是其他一些代码中的一个愚蠢的错误,它本质上已经转变了
File.WriteAllBytes(fileName, payload);
到
File.WriteAllBytes(folderName, payload);
:(
操作系统试图保存一个与文件夹名称相同的文件,而WTF是我收到的例外情况,它发送给我一个切线。