Я создал консольное приложение, которое читает и перемещает файлы с удаленного FTP. Все шло гладко, пока я не развернул код в рабочей среде.
Первое, что я запрашиваю при подключении к FTP, это listDirectory, который работает в обеих средах. После этого я пытаюсь переместить файлы из корня, но это работает только в среде разработки!? В рабочей среде я получаю следующий код ошибки: Удаленный сервер вернул ошибку (451) локальная ошибка при обработке
Вот код для перемещения одного файла:
var uri = new Uri("ftp://ftp.example.com/test.xml");
var request = (FtpWebRequest)WebRequest.Create(uri);
request.Credentials = new NetworkCredential(_username, _password);
request.UsePassive = true;
request.Method = WebRequestMethods.Ftp.Rename;
request.RenameTo = "/folder/test.xml";
(FtpWebResponse)request.GetResponse();
Следует также упомянуть, что я могу перемещать файлы в производстве с помощью командной строки:
ftp ftp.example.com
Имя пользователя: .....
Пароль: .....
переименуйте test.xml /folder/test.xml
250 Файл успешно переименован или перемещен
У меня закончились идеи, поэтому любая помощь приветствуется!
PS. Я подключаюсь к одному и тому же хосту FTP с одинаковыми учетными данными в обеих средах, и я также могу читать файлы в обеих средах.