2015-05-07 1 views
0

Im получение UnauthorizedAccessException, когда я пытаюсь записать файлы во вновь создаваемую папку. Он должен создать папку для записи.UnauthorizedAccessException C#

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

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

Файл является bytefile. Как сделать папку доступной для записи?

+2

Вам нужны права администратора для записи в этом каталоге? Если да, выполняете ли вы свое приложение с этими правами? –

+4

Или, как правило, у учетной записи пользователя, использующего приложение, есть разрешение на запись в папку на уровне файловой системы (часто это админ против не-администратора, но не всегда). –

ответ

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

Это необходимо сделать, прежде чем пытаться записать файл.

+0

Спасибо за мгновенную помощь, это решение моей проблемы – cet

+0

Wonderful. Пожалуйста, отметьте это как ответ, когда это возможно. – avsln

 Смежные вопросы

  • Нет связанных вопросов^_^