Я пытаюсь создать список всех имен файлов, найденных в папке на FTP-сервере.Полный каталог сохраняется в таблице базы данных настроек вместе с учетными данными для входа.Он хорошо подключается к FTP-области, и я могу загружать и скачивать файлы с него.
Это мой код для получения файлов из папки.
lstFiles = new List<string>();
string remoteFTPPath = ftpLocation;
var request = (FtpWebRequest)WebRequest.Create(remoteFTPPath);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword);
request.Proxy = null;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
List<string> directories = new List<string>();
string line = reader.ReadLine();
while (!string.IsNullOrEmpty(line))
{
directories.Add(line);
line = reader.ReadLine();
}
reader.Close();
У меня проблема в том, что в данный момент папка, которую я пытаюсь найти, пуста, но онанайти 2 файла.
Почему это?
Значение в remoteFTPPath
равно ftp://ftp.myArea.co.uk/myServer.co.uk/System-Files/
Это папка, когда я открываю ее в FileZilla - это определенно пустая папка.
Как мне просто просмотреть все файлы в System-Files и поместить их в список?
Журнал FileZilla:
Статус:Зарегистрированный
Статус: получение списка каталогов "/myArea.co.uk"...
Статус: успешное отображение каталога" /myArea.co.uk "
Статус: получение списка каталогов" /myArea.co.uk/System-Files"...
Статус: список каталогов "/myArea.co.uk/System-Files" успешен
И при тестировании того же кода наприложение C #, файл Network.log
выводит, как показано ниже.
Информация о System.Net: 0: [6132] FtpWebRequest # 60068066 ::. ctor ( ftp: //ftp.myServer.co.uk / myArea.co.uk / System-Files / )
Информация о System.Net: 0: [6132] Текущий тип установки ОС - «Клиент».
Информация о System.Net: 0: [6132] FtpWebRequest # 60068066 :: GetResponse (Method = LIST.)
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Создано подключение от xxx.xxx.x.xx: YYYY к xxx.xxx.xxx.x: YY.
Информация System.Net: 0: [6132] Связывание FtpWebRequest # 60068066 с FtpControlStream # 34640832
Информация System.Net: 0: [6132] FtpControlStream # 34640832 - Получен ответ [Готов к работе с 220-матричным FTP-сервером. * 1044)* 220-Это частная система - без анонимного входа
Подключения 220-IPv6 также приветствуются на этом сервере.
220 Обратите внимание: файлы для вашего сайта должны храниться в каталоге htdocs.]
СистемаИнформация .Net: 0: [6132] FtpControlStream # 34640832 - Команда отправки [USER myUser]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Полученный ответ [331 Пользователь myUser OK.Требуется пароль]
Информация System.Net: 0: [6132] FtpControlStream # 34640832 - Команда отправки [PASS ********]
Информация System.Net: 0: [6132] FtpControlStream # 34640832 -Получен ответ [230 ОК.Текущий каталог: /]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Отправка команды [OPTS utf8 on]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Полученный ответ [500Неизвестная команда]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Команда отправки [PWD]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Получен ответ [257 "/" isваше текущее местоположение]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Отправка команды [CWD /myArea.co.uk/System-Files]
Информация о System.Net: 0: [6132] FtpControlStream# 34640832 - Получен ответ [250 ОК.Текущий каталог - /myArea.co.uk/System-Files]
Информация о System.Net: 0: [6132] FtpControlStream # 34640832 - Команда отправки [TYPE I]
Информация о System.Net: 0: [6132]FtpControlStream # 34640832 - Полученный ответ [200 TYPE теперь является 8-разрядным двоичным файлом]
Информация System.Net: 0: [6132] FtpControlStream # 34640832 - Отправка команды [PASV]
Информация System.Net: 0: [6132] FtpControlStream # 34640832 - Полученный ответ [227 Вход в пассивный режим (213 171 193,5117,157)] *
Информация System.Net: 0: [6132] FtpControlStream # 34640832 - Команда отправки [LIST]
Информация System.Net: 0:[6132] FtpControlStream # 34640832 - Получен ответ [150 Принято соединение данных]
Информация System.Net: 0: [6132] FtpControlStream # 34640832 - Полученный ответ [226-ASCII
226-Опции: -a -l
226 всего совпадений]
Информация System.Net: 0: [6132] FtpWebRequest # 60068066: :( Освобождение FTP-соединения # 34640832.)
Информация System.Net: 0: [14644] ServicePoint # 33675143 - Закрыто как бездействующее.