ASP.NET Несанкционированный доступ при загрузке с fTP - PullRequest
1 голос
/ 31 августа 2010

Мой код можно найти здесь c # asp.net Ошибка FTP Я пытаюсь загрузить файл с FTP-сервера, когда я пытаюсь загрузить его, он говорит, что у меня нет доступа, я гуглял это все утро и не имел никакой удачи. Я пошел в указанную папку и добавил «Все» с полными разрешениями, надеясь, что я пропустил пользователя, и это не сработало. Я попытался дать полные права себе, анонимному пользователю, сетевому сервису и нескольким другим пользователям, которых я нашел. Я пытался использовать

<identity impersonate="true" />

и

<identity impersonate="true" userName="myfullusername" password="mypassword"/>

Мне все еще не везет, полная ошибка, которую я получаю:

System.UnauthorizedAccessException: Доступ к пути «C: \ Users \ myname \ Documents» запрещен. в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) в System.IO.FileStream.Init (Строковый путь, режим FileMode, доступ FileAccess, права Int32, логические useRights, общий ресурс FileShare, размер буфера Int32, параметры FileOptions, параметры SECURITY_ATTRIBUTES secA , Строка msgPath, логическое значение bFromProxy, логическое значение useLongPath)

любая помощь, которую я получаю, очень ценится. Спасибо всем.

Ответы [ 2 ]

1 голос
/ 31 августа 2010

Я подозреваю, что ошибка связана с созданием потока файлов по пути, который является папкой.Проверьте строку, где вы строите свой FileStream с помощью отладчика, чтобы увидеть, что передаётся.

Вот пример, который я запустил на своей машине:

// "Access to the path 'C:\users\myid\Documents' is denied."
var nostream = new System.IO.FileStream(@"C:\users\myid\Documents", FileMode.Create);

// OK
var okstream = new System.IO.FileStream(@"C:\users\myid\Documents\myfile.txt", FileMode.Create);

Кстати,и вы, возможно, уже знаете, вы можете удобно комбинировать пути, не беспокоясь о направлении косой черты или о том, есть ли у левой стороны конечная косая черта, используя System.IO.Path.

Path.Combine(@"C:\users\myid\Documents", "myfile.txt");

Iнадеюсь это поможет.Удачи!

0 голосов
/ 31 августа 2010

Делать что-либо внутри профиля пользователя, когда вы не являетесь пользователем, обычно немного сложно - есть несколько настроек безопасности, защищающих его, чем предоставление доступа «Все». Есть ли какая-то причина, по которой он должен находиться в папке «Документы» или он может оказаться где-то еще на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...