Разрешение файла (запись) - PullRequest
       8

Разрешение файла (запись)

0 голосов
/ 09 октября 2011

Здравствуйте,
Однажды я получил этот код для работы с любыми ошибками, и он загрузил файл.
Теперь это дает мне ошибку разрешения,
Я не получаю всплывающее окно acesscontrol, которое должно отображаться.
В любом случае,
Как я могу получить этот код для загрузки моего файла?

WebClient request = new WebClient();
request.Credentials = new NetworkCredential(txtFTPuser.Text, txtFTPpassword.Text);
byte[] fileData = request.DownloadData(fullDownloaPath);//dnoces.dreamhost.com
FileSecurity security = File.GetAccessControl(downloadTo);

FileSystemAccessRule rule = new FileSystemAccessRule(@"BUILTIN\Users", 
    FileSystemRights.FullControl, AccessControlType.Allow);

File.SetAccessControl(downloadTo, security);
try
{
    FileStream f = File.Create(downloadTo/*+@"\"+file*/);
    f.Write(fileData, 0, fileData.Length);
    f.Close();
    MessageBox.Show("Completed!");
}
catch(Exception e)
{
    MessageBox.Show(e.Message);
}

1 Ответ

1 голос
/ 10 октября 2011

Что находится в переменной downloadTo?Я немного смущен вашим кодом.Поскольку вы можете выполнить GetAccessControl (), я предполагаю, что он должен содержать вашу папку.Если это будет ваш файл, он потерпит неудачу, потому что он еще не существует.

, но затем ваш код продолжается с

FileStream f = File.Create(downloadTo/*+@"\"+file*/);

, так как вы написали / / * / ваша переменная 'file' прокомментирована, что заставляет меня предположить, что downloadTo должен содержать полный путь, включаяимя_файла.

Вы можете попробовать и жестко закодировать файл назначения?

(например, FileStream f = File.Create (@ "c: \\ users \\ ваш пользователь \\ myfile.bin ");

Насколько я понимаю, ваш код вы пытаетесь записать в папку без указания имени файла.

...