UnauthorizedAccessException C#

Я получаю UnauthorizedAccessException когда я пытаюсь записать файлы во вновь созданную папку. Это должно создать доступную для записи папку.

Вот код, который я использую:

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

Файл является байтовым файлом. Как я могу сделать папку доступной для записи?

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);

Это должно быть сделано перед попыткой записи в файл.

Другие вопросы по тегам