Pb Listing Files, а затем скачать с FTPWebRequest - PullRequest
0 голосов
/ 07 марта 2012

Я разработал метод загрузки файлов с ftp-сервера Windows, и он работает правильно.Но когда я пытаюсь использовать его для загрузки файлов с сервера Linux, у меня возникают проблемы с методом FTPWebRequest: WebRequestMethods.Ftp.ListDirectory: я ловлю исключение, что файл не существует.

Вот код, где япопробуйте получить список файлов:

                FtpWebRequest reqFTP = (FtpWebRequest)WebRequest.Create("ftp://blabla.cnvt.com/files/");
                reqFTP.Credentials = new NetworkCredential("userId", "password");
                reqFTP.KeepAlive = false;
                reqFTP.UseBinary = true;
                reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
                reqFTP.UsePassive = false;
                reqFTP.Proxy = null;
                response = (FtpWebResponse)reqFTP.GetResponse();
                Stream responseStream = response.GetResponseStream();
                reader = new StreamReader(responseStream);
                string line = reader.ReadLine();
                while (line != null)
                {
                    result.Append(line);
                    result.Append("\n");
                    line = reader.ReadLine();
                }

Обратите внимание, что когда я использую метод ListDirectoryDetails, он работает, но я не могу правильно получить имена файлов.

Что я могу сделать, чтобыполучить файлы?Применить регулярное выражение для ListDirectoryDetails (но это не хорошо для производительности)?Можно ли скачать все файлы, не зная их названия?Или я должен использовать другую библиотеку (в этом случае вы знаете некоторую бесплатную библиотеку для .NET 4.0)?

Спасибо

1 Ответ

0 голосов
/ 08 марта 2012

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

...