Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/117: Рейтинг темы: голосов - 117, средняя оценка - 4.85
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533

Скачивание папки с FTP - сервера по актуальной дате

04.10.2018, 09:39. Показов 31627. Ответов 897
Метки ftp, tls (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возможно ли реализовать скачку с фтп папки в которой находятся файлы, папок много, а скачать файлы нужно из той папки, которая названа сегодняшней датой
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2018, 09:39
Ответы с готовыми решениями:

Скачивание папки с FTP - сервера по актуальной дате (2)
Продолжение темы https://www.cyberforum.ru/csharp-net/thread2329455.html var mStr = "20181206_20-15-30.txt"; var dtAr =...

Скачивание папок с FTP-сервера
всем приветик ! подскажите плиииз ! есть батник он подключается к фтп и копирует оттуда файлы все ! open 89.253.247.10 metko ...

Скачивание файла с FTP-сервера
Здравствуйте. Подскажите как загрузить файл с сервера по ftp?

897
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 14:23  [ТС]
Студворк — интернет-сервис помощи студентам
Список того что лежит в этой папке
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 14:24
Цитата Сообщение от Damenikx Посмотреть сообщение
Список того что лежит в этой папке
не понял?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 14:26  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
а вы сделали как я писал:
Не, не, всё нормально, это я сам напортачил

Добавлено через 39 секунд
Список файлов

Добавлено через 26 секунд
Хотя стоп, детальную информацию о файлах лежащих в папке

Добавлено через 6 секунд
Вот так
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 14:28
Цитата Сообщение от Damenikx Посмотреть сообщение
Список файлов
не понимаю, о чем вы?

Добавлено через 1 минуту
Цитата Сообщение от Damenikx Посмотреть сообщение
Хотя стоп, детальную информацию о файлах лежащих в папке
скорее детальная информация, о том что лежит в папке (скажу по большому секрету, там могут быть и папки).
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 14:29  [ТС]
Согласен!
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 14:31
есть метод
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public List<string> CurFolderDirectoryDetails(string CurFolderPath)
{                
                var res = new List<string>(); 
                var settings = new FTPSettings(); 
                var ftp = settings.RequestToDirrectoryDetails(settings.FTPAdress +CurFolderPath);// вот где нужно поменять, дабы получит ответ на ваш вопрос.
                var response = (FtpWebResponse)ftp.GetResponse();
                var responseStream = response.GetResponseStream();
                var reader = new StreamReader(responseStream);
 
                while (!reader.EndOfStream) 
                {
                    res.Add(reader.ReadLine());
                }
                responseStream.Close(); 
                response.Close(); 
                reader.Close(); 
                return res;
}
нам нужно сделать перегрузку его
public List<string> CurFolderDirectoryDetails(string CurFolderPath, Здесь что-то должно быть)
Остается открытым вопрос, что?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 14:35  [ТС]
C#
1
string CurDateFileNames
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 14:40
Цитата Сообщение от Damenikx Посмотреть сообщение
string CurDateFileNames
не правильно, ну если вы меняете настройки, тогда вы должны и передавать их! (это вам подсказка).
Конечно высшим пилотажем будет создать перегрузку класса FTPSettings(), которая будет принимать изменные настройки в качестве аргументов, это уже вам на засыпку.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 14:46  [ТС]
Мне надо засунуть туда UserFTP, PwdFTP?
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 16:00
Цитата Сообщение от Damenikx Посмотреть сообщение
Мне надо засунуть туда UserFTP, PwdFTP?
туда, это куда? и почему UserFTP, PwdFTP?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 16:17  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public List<string> CurFolderDirectoryDetails(string CurFolderPath, string UserFTP, string PwdFTP) // вот сюда
{                
                var res = new List<string>(); 
                var settings = new FTPSettings(); 
                var ftp = settings.RequestToDirrectoryDetails(settings.FTPAdress +CurFolderPath);// вот где нужно поменять, дабы получит ответ на ваш вопрос.
                var response = (FtpWebResponse)ftp.GetResponse();
                var responseStream = response.GetResponseStream();
                var reader = new StreamReader(responseStream);
 
                while (!reader.EndOfStream) 
                {
                    res.Add(reader.ReadLine());
                }
                responseStream.Close(); 
                response.Close(); 
                reader.Close(); 
                return res;
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 16:37
Damenikx, можно конечно и так. Я думал вообще про
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public List<string> CurFolderDirectoryDetails(string CurFolderPath, FTPSettings Settings ) //передать сразу настройки
{                
                var res = new List<string>();                  
                var ftp = Settings.RequestToDirrectoryDetails(Settings.FTPAdress +CurFolderPath);// вот где нужно поменять, дабы получит ответ на ваш вопрос.
                var response = (FtpWebResponse)ftp.GetResponse();
                var responseStream = response.GetResponseStream();
                var reader = new StreamReader(responseStream);
 
                while (!reader.EndOfStream) 
                {
                    res.Add(reader.ReadLine());
                }
                responseStream.Close(); 
                response.Close(); 
                reader.Close(); 
                return res;
}
но можно и так как вы сделали, только тогда нужно правильно инициализировать класс
var settings = new FTPSettings{Здесь нужно что-то сделать};
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 16:41  [ТС]
Я лучше сделаю, как вы предложили, а то я как "намудрю"

Добавлено через 2 минуты
Только теперь ругается на метод CurDateFileNames
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
24.10.2018, 16:47
а поскольку код
C#
1
2
3
4
5
6
7
8
9
10
11
12
var response = (FtpWebResponse)ftp.GetResponse();
                var responseStream = response.GetResponseStream();
                var reader = new StreamReader(responseStream);
 
                while (!reader.EndOfStream) 
                {
                    res.Add(reader.ReadLine());
                }
                responseStream.Close(); 
                response.Close(); 
                reader.Close(); 
                return res;
Встречается в нескольких методах, и не меняется, я бы его вынес в отдельный приватный метод:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
List<string> CurFolderDirectoryDetails(FtpWebRequest FTP)
{
                var res = new List<string>(); 
                var response = (FtpWebResponse)FTP.GetResponse();
                var responseStream = response.GetResponseStream();
                var reader = new StreamReader(responseStream);
 
                while (!reader.EndOfStream) 
                {
                    res.Add(reader.ReadLine());
                }
                responseStream.Close(); 
                response.Close(); 
                reader.Close(); 
                return res;  
}
После чего произвел бы рефакторинг и в приведенном мной последнем примере получил бы на выходе:
C#
1
2
3
4
5
6
public List<string> CurFolderDirectoryDetails(string CurFolderPath, FTPSettings Settings ) //передать сразу настройки
{                
                                
                var ftp = Settings.RequestToDirrectoryDetails(Settings.FTPAdress +CurFolderPath);
                return CurFolderDirectoryDetails(ftp);
}
или вообще одной строкой:
C#
1
2
3
4
public List<string> CurFolderDirectoryDetails(string CurFolderPath, FTPSettings Settings ) //передать сразу настройки
{
      return CurFolderDirectoryDetails(Settings.RequestToDirrectoryDetails(Settings.FTPAdress +CurFolderPath));
}
Добавлено через 3 минуты
Цитата Сообщение от Damenikx Посмотреть сообщение
Только теперь ругается на метод CurDateFileNames
Вы создавали перегрузку методов, или тупо переписывали методы???
Судя по вашему вопросу, вы переписали метод CurDateDirectoryDetails(DateTime CurDate).
А этого делать нельзя было не в коем случае!!!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
24.10.2018, 17:24  [ТС]
Нет нет, я всё создавал. Вы сказали нельзя менять. Я попытался создавать.

Добавлено через 1 минуту
Надо почитать про перегрузка и параметры методов. Разобраться повнимательнее. А то совсем запутался
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
25.10.2018, 11:15
Цитата Сообщение от Damenikx Посмотреть сообщение
Нет нет, я всё создавал. Вы сказали нельзя менять. Я попытался создавать.
а что создали?
1
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
26.10.2018, 11:27
Цитата Сообщение от Damenikx Посмотреть сообщение
Надо почитать про перегрузка и параметры методов. Разобраться повнимательнее. А то совсем запутался
удалось почитать?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
29.10.2018, 10:18  [ТС]
Да, я прочитал, но надо на практике отработать. Ибо я тупой и надо как-то это всё понять.

Добавлено через 1 час 22 минуты
Так-с, для начала сделаю рефакторинг метода, как вы показали.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
29.10.2018, 10:18
Цитата Сообщение от Damenikx Посмотреть сообщение
надо как-то это всё понять
ничего нет проще
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void SomeVoid()
{
  Console.WriteLine("SomeVoid");
}
 
void SomeVoid(string StrParameter)
{
  Console.WriteLine($"SomeVoid with string parameter: {StrParameter} ");
}
 
void SomeVoid(int ParameterInt)
{
  Console.WriteLine($"SomeVoid with int parameter: {ParameterInt} ");
}
 
void SomeVoid(int ParameterInt, string StrParameter)
{
  Console.WriteLine($"SomeVoid with int parameter: {ParameterInt} and with string parameter: {StrParameter}");
}
 
void SomeVoid(string StrParameter, int ParameterInt)
{
  Console.WriteLine($"SomeVoid  with string parameter: {StrParameter} and with int parameter: {ParameterInt}. Yes of course, the order of the passed parameters has a value, and makes the two voids different!");
}
попробуйте в проекте сделать эти методы и поочередно вызвать.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
29.10.2018, 11:30  [ТС]
Хорошо.

У меня сложилсь такое впечатление, что я что-то не правильно понимаю. В моём понятии, для того, чтобы что-то получить нужно что-то ввести. Чем дальше я пытаюсь научиться тем сильнее ломаются мои рамки в этом плане. Вот допустим. Ваш пример. Метод:

C#
1
2
3
4
void SomeVoid(string StrParameter, int ParameterInt)
{
  Console.WriteLine($"SomeVoid  with string parameter: {StrParameter} and with int parameter: {ParameterInt}. Yes of course, the order of the passed parameters has a value, and makes the two voids different!");
}
Мы создали метод с двумя параметрами. И выводим в консоль то, что лежит в этих параметрах. Получается, что нам в эти параметры нужно занести какую-то информацию. И вот тут у меня ступор. Я не понимаю, откуда мы берём информацию для этих параметров. Мы её где-то вводим? Или создаётся ещё один метод, который что-то делает и заносит информацию в параметр?

Добавлено через 19 минут
И я что-то не могу понять. Знак $ ругается.

Добавлено через 17 минут
И вызвать не получается.

Добавлено через 4 минуты
Разобрался.

Добавлено через 33 секунды
Вызвал, но без знака $. Почитал, что этот знак только с VS15 работает, но у меня 15!

Добавлено через 17 секунд
Вру! У меня 12(

Добавлено через 9 минут
Надо бы обновиться!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2018, 11:30

Скачивание файла с ftp сервера
Привет! Решил попробовать написать систему обновления для своей программы. Есть вот такая идея: создать сайт и вручную залить по ftp на...

Скачивание каталога с FTP сервера
Доброго времени суток. Работаю с FTP сервером в C# при помощи библиотеки BytesRoad.Net.Ftp. Появилась необходимость скачивать ВЕСЬ каталог...

Скачивание файлов с FTP сервера на локальный ЖД
Здравствуйте. Возникла проблема, возможно глупая и её решение должно быть элементарным, но всё же :) Добавлено через 9 минут ...

Скачивание файла с FTP-сервера с использованием Wget
Доброго времени суток! Задача - необходим батник чтобы он: 1. Скачивал необходимый файл с ftp(хранилище можем подобрать иное) 2....

Скачивание папки с удаленного сервера
WebClient wb = new WebClient(); wb.DownloadFile(&quot;https://cloud.mail.ru/public/46F4/Eqhw66Kb2&quot;, @&quot;C:\test\sandbox&quot;); Вот такой код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
520
Закрытая тема Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru