【问题标题】:UnauthorizedAccessException c#未经授权的AccessException c#
【发布时间】:2015-05-07 18:19:01
【问题描述】:

当我尝试将文件写入新创建的文件夹时,我收到了UnauthorizedAccessException。它应该创建一个可写文件夹。

这是我正在使用的代码:

 //creating folder
uploadDirectory = directoryBox.Text + "\\Uploads";
 if (!Directory.Exists(uploadDirectory))
    {
       Directory.CreateDirectory(uploadDirectory);
    }
//writing file to folder
File.WriteAllBytes(uploadDirectory, file);

该文件是一个字节文件。如何使文件夹可写?

【问题讨论】:

  • 您是否需要管理员权限才能在该目录中写入?如果是这样,您是否以这些权利运行您的应用程序?
  • 或更一般地...运行应用程序的用户帐户是否有权在文件系统级别写入文件夹(通常是管理员与非管理员,但并非总是如此)。跨度>

标签: c# directory unauthorizedaccessexcepti


【解决方案1】:

您正在尝试写入上传目录。您应该正在写入文件。所以真的你的代码应该是

File.WriteAllBytes(uploadDirectory + "\\" + fileName, file)

您可能还需要为文件夹添加权限。

        DirectoryInfo directoryInfo = new DirectoryInfo(uploadDirectory);
        if (!directoryInfo.Exists)
        {
            Directory.CreateDirectory(uploadDirectory);
        }

        var sec = directoryInfo.GetAccessControl();
        var accessRule = new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow);

        sec.AddAccessRule(accessRule);
        directoryInfo.SetAccessControl(sec);

这应该在尝试写入文件之前完成。

【讨论】:

  • 感谢您的即时帮助,这是我问题的解决方案
猜你喜欢
  • 2018-06-15
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-21
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多