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);
Это должно быть сделано перед попыткой записи в файл.