С# FTPWebRequest для чтения нескольких файлов

Я хочу получить содержимое для каждого файла, расположенного на FTP. Я собираюсь разработать его для FTPWebRequet в приложении C# для Windows. Но я ищу лучший и правильный способ сделать это.

Например, я ищу файл как

tmpReq = (FtpWebRequest)FtpWebRequest.Create("ftp://" + Settings.Default.IP + "/953077/Inserted/XMLComp" + CryptoHelper.Decrypt(Settings.Default.RegCode) + ".xml");

но как я могу сделать это для нескольких файлов

в цикле я могу создать FtpWebRequest и изменить имя файла XMLComp95202. Но я думаю, что это не лучший способ сделать это


person AEMLoviji    schedule 28.09.2010    source источник


Ответы (2)


Я предполагаю, что вы не знаете названия файлов, которые хотите разместить на FTP-сервере, правильно? Если нет, вам придется получить каталог файлов и перебрать результаты. Проверьте WebRequestMethods.FTP."методы"

person bigtang    schedule 28.09.2010
comment
нет, я знаю имена файлов. для образца XMLComp + CryptoHelper.Decrypt(Settings.Default.RegCode) + .xml равен XMLComp952025.xml или XMLComp952026.xml - person AEMLoviji; 28.09.2010
comment
в цикле я могу создать FtpWebRequest и изменить имя файла XMLComp95202‹i (оно стало из цикла)›. Но я думаю, что это не лучший способ сделать это таким образом - person AEMLoviji; 28.09.2010
comment
Ну, если вы используете утилиту MS FTP, я не думаю, что они слишком сильно расширили базовый протокол. Вы можете проверить другие реализации (например, Dart), которые обеспечивают получение нескольких файлов. - person bigtang; 28.09.2010

Вы должны использовать:

request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

Сначала вам нужно подключиться к основному пути, я имею в виду, если файлы находятся в ftp://.../files /, вы должны сначала получить ответ по этому пути на основе запроса каталога, затем вы получите большую строку содержимого всех файлов в этой папке.

Используя рекурсивный метод, для каждой строки вы должны сделать запрос снова.

person amelian    schedule 17.03.2017