Как искать указанные файлы расширения на ftp-сервере?

108
6

как сделать функцию поддерживает параметры для этого

 public List<string> getfiles(string FTPhostname, string FTPpath,string FTPusername,string FTPpassword,string extension)
{
'request to ftp hostname
'get response from
'list all directories and files
'search for spesified extension files
}

любым способом для этого?

спросил(а) 2021-01-25T15:22:58+03:00 5 месяцев назад
1
Решение
63

вот решение - функция, возвращающая List

 public List<string> getfiles(string FTPhostname, string FTPpath,string FTPusername,string FTPpassword,string extension)
{
FtpWebRequest ftpRequest = (FtpWebRequest)WebRequest.Create("ftp://" + FTPhostname + "/" + FTPpath );
ftpRequest.Credentials = new NetworkCredential(FTPusername , FTPpassword );
ftpRequest.Method = WebRequestMethods.Ftp.ListDirectory;

FtpWebResponse response = (FtpWebResponse)ftpRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());

List<string> results = new List<string>();

string line = streamReader.ReadLine();
while (!string.IsNullOrEmpty(line))
{

if (line.Contains(extension)) {
line = streamReader.ReadLine();
results.Add(line);}

else {line = streamReader.ReadLine(); }
}

streamReader.Close();
return results;
}

затем вызовите эту функцию для файлов ex: png

  String[] txtfounds= getfiles("ftp.piacton.com", "/Public/Software/Official/LightField/Archives/", "anonymous", "k3tnel31@k.com", ".png").ToArray();

если вы хотите добавить этот результат в lisbox:

listBox1.DataSource = txtfounds;

ответил(а) 2021-01-25T15:22:58+03:00 5 месяцев назад
45

Произошла ошибка, вам нужно сделать

results.Add(line);

прежде чем позвонить

results.Add(line);

для получения правильных файлов.

ответил(а) 2021-01-25T15:22:58+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема