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

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

04.10.2018, 09:39. Показов 31608. Ответов 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
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 10:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public string FTPAdress 
{ 
get
{
  return "ftp://1111.1.1.1.1.1/";
}
}
 
public string TodayFolderAdress
{ 
  get
     { 
         return DateTime.Now.ToString("yyyyMMdd");
      }
}
 
public string CurrentDateFolderAdress(DateTime CurrentDate)//на это можно писать юнит тест
{
     return CurrentDate.ToString("yyyyMMdd");
}
 
public string FullFFTPAdressToDay
{
   get
   {
     return FTPAdress+TodayFolderAdress;
    }
}
 
public string FullFFTPAdressCurrentDate(DateTime CurrentDate)//на это можно писать юнит тест
{
   return FTPAdress+CurrentDateFolderAdress(CurrentDate);
}
 
public string UserFTP//может быть и private зависит от необходимости дальнейшего использования
{
   get {return "user";}
}
 
public string PwdFTP//может быть и private зависит от необходимости дальнейшего использования
{
   get {return "pass";}
}
 
public FtpWebRequest RequestToDirrectoryDetalis(string FolderAdress)
{
 
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress);
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP);
            res.KeepAlive = false;
            res.UseBinary = true;
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            return res;
}
итак, часть настроек я вам написал, дальше мы будем еще возвращаться к этому классу и дополнять его.
Теперь вам следует:
1. записать новый код в класс
2. разъяснить мне, что я написал
3. выложить получившийся класс без ненужных using, здесь на форуме.
Damenikx, жду вашего исполнения!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 10:52  [ТС]
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
namespace ConsoleApplication13.WTPWorker
{
    class FTPSettings //имя класса
    {
        public string FTPAdress //создаём открытую строку
        {
            get //возвращаем значение поля
            {
                return "ftp://181.12.13:5577"; //прерываем выполнение метода и возвращаем значение адреса фпт-сервера
            }
        }
        public string TodayFoladerAdress//создаём открытую строку
        {
            get//возвращаем значение поля
            {
                return DateTime.Now.ToString("yyyyMMdd"); //прерываем выполнение метода и возвращаем сегодняшнею дату
            }
        }
        public string CurrentDateFolderAdress(DateTime CurrentDate) //создаём строку и присваиваем ей значение текущей даты
        {
            return CurrentDate.ToString("yyyyMMdd"); //переводит значение сегодняшней даты в строку
        }
        public string FullFTPAdressToDay //создаём открытую строку
        {
            get //возвращаем значение поля
            {
                return FTPAdress + TodayFoladerAdress; //прерываем выполнение метода и возвращаем значения строки FTPAdress + TodayFoladerAdress
            }
        }
        public string FullFTPAdressCurrentDate(DateTime CurrentDate) //создаём открытую строку и присваиваем ей значение сегодняшней даты
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate); //прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate)
        }
        public string UserFTP //создаём открытую строку
        {
            get { return "Test"; } // прерываем выполнение метода и возвращаем значение с логином от ФТП
        }
        public string PwdFTP
        {
            get { return "12345678"; } // прерываем выполнение метода и возвращаем значение с логином от паролем
        }
        public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress) //открываем фтп-клиент
        {
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress); //создаём соединение с адресом фтп
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP); //логин, пароль
            res.KeepAlive = false; //не закрываем соединение после выполнения программы
            res.UseBinary = true; //тип данных для передачи
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails; //получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты
            return res; //возвращаем значение res
        }
    }
}
Добавлено через 1 минуту
Попробую юнит тестом разобраться.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 11:05
Цитата Сообщение от Damenikx Посмотреть сообщение
res.KeepAlive = false; //не закрываем соединение после выполнения программы
как раз наоборот, не держим соединение по завершению запроса
Цитата Сообщение от Damenikx Посмотреть сообщение
public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress) //открываем фтп-клиент
Скорее формирование запроса к фтп. Тип:детальное описание директории.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 11:08  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
как раз наоборот, не держим соединение по завершению запроса

Скорее формирование запроса к фтп. Тип:детальное описание директории.
Я понял, спасибо.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 11:16
Цитата Сообщение от Damenikx Посмотреть сообщение
public string FullFTPAdressToDay //создаём открытую строку
Публичное свойство - полный адрес запроса папки на сегодня.
Цитата Сообщение от Damenikx Посмотреть сообщение
public string FTPAdress
Публичное свойство - адрес фтп сервера
Цитата Сообщение от Damenikx Посмотреть сообщение
public string TodayFoladerAdress//создаём открытую строку
Публичное свойство - адрес папки на сегодня
Цитата Сообщение от Damenikx Посмотреть сообщение
public string CurrentDateFolderAdress(DateTime CurrentDate) //создаём строку и присваиваем ей значение текущей даты
Неправильно.
Публичная строка с конструктором - адрес папки для произвольной даты, принимающее в конструкторе, произвольную дату
Цитата Сообщение от Damenikx Посмотреть сообщение
public string FullFTPAdressCurrentDate(DateTime CurrentDate) //создаём открытую строку и присваиваем ей значение сегодняшней даты
Неправильно.
Публичная строка с конструктором - полный адрес запроса папки для произвольной даты, принимающее в конструкторе, произвольную дату
Цитата Сообщение от Damenikx Посмотреть сообщение
public string UserFTP //создаём открытую строку
Неправильно.
Публичное свойство - логин пользователя ФТП.

Добавлено через 2 минуты
Damenikx, сделайте документирующие комментарии (перед всеми объектами класса поставить ///) и укажите нужные данные, и выложите здесь на форуме.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 11:31  [ТС]
Сколько ошибок. Я понял, спасибо, что объяснили!

Хорошо, делаю.

Добавлено через 14 минут
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
namespace ConsoleApplication13.WTPWorker
{
    class FTPSettings ///имя класса
    {
        public string FTPAdress ///Адрес фтп-сервера, публичное свойство.
        {
            get ///возвращаем значение поля
            {
                return "ftp://1.1.1.5:1234"; ///прерываем выполнение метода и возвращаем значение адреса фпт-сервера
            }
        }
        public string TodayFoladerAdress///Адрес папки на сегодня, публично свойство.
        {
            get///возвращаем значение поля
            {
                return DateTime.Now.ToString("yyyyMMdd"); ///прерываем выполнение метода и возвращаем сегодняшнею дату
            }
        }
        public string CurrentDateFolderAdress(DateTime CurrentDate) ///Адрес папки для произвольной даты, принимающее в конструкторе произвольную дату.
        {
            return CurrentDate.ToString("yyyyMMdd"); ///переводит значение сегодняшней даты в строку
        }
        public string FullFTPAdressToDay ///Полный адрес запроса папки на сегодня, публичное свойство.
        {
            get ///возвращаем значение поля
            {
                return FTPAdress + TodayFoladerAdress; ///прерываем выполнение метода и возвращаем значения строки FTPAdress + TodayFoladerAdress
            }
        }
        public string FullFTPAdressCurrentDate(DateTime CurrentDate) ///Полный адрес запроса папки для произвольной даты принимающее к конструкторе произвольную дату, публичная строка с конструктором
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate); ///прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate)
        }
        public string UserFTP ///Логин пользователя ФТП - публичное свойство.
        {
            get { return "1111"; } /// прерываем выполнение метода и возвращаем значение с логином от ФТП
        }
        public string PwdFTP
        {
            get { return "12345678"; } /// прерываем выполнение метода и возвращаем значение с логином от паролем
        }
        public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress) ///Формируем запрос к ФТП-Серверу. Тип: детальное описание директории.
        {
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress); ///создаём соединение с адресом фтп
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP); ///логин, пароль
            res.KeepAlive = false; ///не держим соединение после выполнения запроса
            res.UseBinary = true; ///тип данных для передачи
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails; ///получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты
            return res; ///возвращаем значение res
        }
    }
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 11:37
перед, это не здесь
Цитата Сообщение от Damenikx Посмотреть сообщение
class FTPSettings ///имя класса
надо вот так
C#
1
2
3
4
      /// <summary>
      /// Класс предназначенный для работы с настройками FTP
      /// </summary>
    class FTPSettings
Переделывайте, у get комментарии не нужны, внутри объектов по вашему желанию, соответственно за объектом.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 11:38  [ТС]
Всё, я понял, сейчас переделаю.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 11:39
Цитата Сообщение от Damenikx Посмотреть сообщение
get { return "1111"; } /// прерываем выполнение метода и возвращаем значение с логином от ФТП
можно проще: "возвращаем значение с логином от ФТП", нет смысла писать о прерываниях, если они вам не важны, тем более когда оно одно.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 11:48  [ТС]
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
namespace ConsoleApplication13.WTPWorker
{
    /// <summary>
    /// Класс предназначенный для работы с настройками FTP.
    /// </summary>
    class FTPSettings
    {
        /// <summary>
        /// Адрес фтп-сервера, публичное свойство.
        /// </summary>
        public string FTPAdress 
        {
            get
            {
                ///<sumary>
                ///прерываем выполнение метода и возвращаем значение адреса фпт-сервера
                ///</sumary>
                return "ftp://11111";
            }
        }
        /// <summary>
        /// ///Адрес папки на сегодня, публично свойство.
        /// </summary>
        public string TodayFoladerAdress
        {
            get
            {
                /// <sumary>
                /// прерываем выполнение метода и возвращаем сегоднешнею дату
                /// </sumary>
                return DateTime.Now.ToString("yyyyMMdd");
            }
        }
        /// <summary>
        /// Адрес папки для произвольной даты, принимающее в конструкторе произвольную дату.
        /// </summary>
        /// <param name="CurrentDate"></param>
        /// <returns></returns>
        public string CurrentDateFolderAdress(DateTime CurrentDate)
        {
            ///<sumary>
            ///переводит значение сегодняшней даты в строку
            ///</sumary>
            return CurrentDate.ToString("yyyyMMdd");
        }
        /// <summary>
        /// Полный адрес запроса папки на сегодня, публичное свойство.
        /// </summary>
        public string FullFTPAdressToDay 
        {
            get 
            {
                ///<sumary>
                ///прерываем выполнение метода и возвращаем значения строки FTPAdress + TodayFoladerAdress
                ///</sumary>
                return FTPAdress + TodayFoladerAdress; 
            }
        }
        /// <summary>
        /// Полный адрес запроса папки для произвольной даты принмающее к конструкторе произвольную дату, публичная строка с конструктором
        /// </summary>
        /// <param name="CurrentDate"></param>
        /// <returns></returns>
        public string FullFTPAdressCurrentDate(DateTime CurrentDate)
        {
            ///<sumary>
            ///прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate)
            ///</sumary>
            return FTPAdress + CurrentDateFolderAdress(CurrentDate);
        }
        /// <summary>
        /// Логин пользователя ФТП - публичное свойство.
        /// </summary>
        public string UserFTP
        {
            ///<sumary>
            ///прерываем выполнение метода и возвращаем значение с логином от ФТП
            ///</sumary>
            get { return "1111"; }
        }
        public string PwdFTP
        {
            ///<sumary>
            ///прерываем выполнение метода и возвращаем значение с логином от паролем
            ///</sumary>
            get { return "1111"; }
        }
        /// <summary>
        /// Формируем запрос к ФТП-Серверу. Тип: детальное описание директории.
        /// </summary>
        /// <param name="FolderAdress"></param>
        /// <returns></returns>
        public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress)
        {
            ///<sumary>
            ///создаём соединение с адресом фтп
            ///</sumary>
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress);
            ///<sumary>
            ///логин, пароль
            ///</sumary>
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP);
            ///<sumary>
            ///не держим соединение после выполнения запроса
            ///</sumary>
            res.KeepAlive = false;
            ///<sumary>
            ///тип данных для передачи
            ///<sumary>
            res.UseBinary = true;
            ///<sumary>
            ///получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты
            ///</sumary>
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            ///<sumary>
            ///возвращаем значение res
            ///</sumary>
            return res;
        }
    }
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 11:54
Цитата Сообщение от Damenikx Посмотреть сообщение
///<sumary> ///прерываем выполнение метода и возвращаем значение адреса фпт-сервера ///</sumary> return "ftp://11111";
не правильно так как вам было сказано
Цитата Сообщение от V_Monomax Посмотреть сообщение
соответственно за объектом.
что значит надо сделать так
C#
1
return "ftp://11111";//возвращаем значение адреса фпт-сервера
Добавлено через 22 секунды
Damenikx, переделать.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 12:09  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
не правильно так как вам было сказано

что значит надо сделать так
C#
1
return "ftp://11111";//возвращаем значение адреса фпт-сервера
Добавлено через 22 секунды
Damenikx, переделать.
Прошу прощения, не заметил предыдущего сообщения, сейчас переделаю.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 12:13
Цитата Сообщение от Damenikx Посмотреть сообщение
/// <param name="CurrentDate"></param> /// <returns></returns>
А это кто должен за вас заполнить?

Добавлено через 1 минуту

Не по теме:


так и научу вас пользоваться интерфейсом VisualStudio

1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 12:13  [ТС]
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
namespace ConsoleApplication13.WTPWorker
{
    /// <summary>
    /// Класс предназначенный для работы с настройками FTP.
    /// </summary>
    class FTPSettings
    {
        /// <summary>
        /// Адрес фтп-сервера, публичное свойство.
        /// </summary>
        public string FTPAdress 
        {
            get
            {
                return "ftp://111.1.1.1"; //прерываем выполнение метода и возвращаем значение адреса фпт-сервера
            }
        }
        /// <summary>
        /// ///Адрес папки на сегодня, публично свойство.
        /// </summary>
        public string TodayFoladerAdress
        {
            get
            {
                return DateTime.Now.ToString("yyyyMMdd"); // прерываем выполнение метода и возвращаем сегоднешнею дату
            }
        }
        /// <summary>
        /// Адрес папки для произвольной даты, принимающее в конструкторе произвольную дату.
        /// </summary>
        /// <param name="CurrentDate"></param>
        /// <returns>Адрес папки</returns>
        public string CurrentDateFolderAdress(DateTime CurrentDate)
        {
            return CurrentDate.ToString("yyyyMMdd"); ///переводит значение сегодняшней даты в строку
        }
        /// <summary>
        /// Полный адрес запроса папки на сегодня, публичное свойство.
        /// </summary>
        public string FullFTPAdressToDay 
        {
            get 
            {
                return FTPAdress + TodayFoladerAdress;//прерываем выполнение метода и возвращаем значения строки FTPAdress + TodayFoladerAdress
            }
        }
        /// <summary>
        /// Полный адрес запроса папки для произвольной даты принимающее к конструкторе произвольную дату, публичная строка с конструктором
        /// </summary>
        /// <param name="CurrentDate"></param>
        /// <returns>Полный адрес запроса папки</returns>
        public string FullFTPAdressCurrentDate(DateTime CurrentDate)
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate);//прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate)
        }
        /// <summary>
        /// Логин пользователя ФТП - публичное свойство.
        /// </summary>
        public string UserFTP
        {
            get { return "1111"; } //прерываем выполнение метода и возвращаем значение с логином от ФТП
        }
        public string PwdFTP
        {
            get { return "1111"; } //прерываем выполнение метода и возвращаем значение c паролем
        }
        /// <summary>
        /// Формируем запрос к ФТП-Серверу. Тип: детальное описание директории.
        /// </summary>
        /// <param name="FolderAdress"></param>
        /// <returns>Описание директории</returns>
        public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress)
        {
            ///<sumary>
            ///создаём соединение с адресом фтп
            ///</sumary>
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress);
            ///<sumary>
            ///логин, пароль
            ///</sumary>
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP);
            ///<sumary>
            ///не держим соединение после выполнения запроса
            ///</sumary>
            res.KeepAlive = false;
            ///<sumary>
            ///тип данных для передачи
            ///<sumary>
            res.UseBinary = true;
            ///<sumary>
            ///получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты
            ///</sumary>
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            return res; //возвращаем значение res
        }
    }
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 12:18
Цитата Сообщение от Damenikx Посмотреть сообщение
/// <summary> /// Полный адрес запроса папки для произвольной даты принмающее к конструкторе произвольную дату, публичная строка с конструктором /// </summary> /// <param name="CurrentDate"></param> /// <returns></returns> public string FullFTPAdressCurrentDate(DateTime CurrentDate) { return FTPAdress + CurrentDateFolderAdress(CurrentDate);//прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate) }
Должно выглядеть следующим образом:
C#
1
2
3
4
5
6
7
8
9
        /// <summary>
        /// Полный адрес запроса папки для произвольной даты
        /// </summary>
        /// <param name="CurrentDate">Дата на которую необходимо получить адрес</param>
        /// <returns>Строку с полным адресом запроса папки для произвольной даты</returns>
        public string FullFTPAdressCurrentDate(DateTime CurrentDate)
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate);// возвращаем значение с полным адресом запроса папки для произвольной даты
        }
Damenikx, поправьте.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 12:18  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
Должно выглядеть следующим образом:
C#
1
2
3
4
5
6
7
8
9
        /// <summary>
        /// Полный адрес запроса папки для произвольной даты
        /// </summary>
        /// <param name="CurrentDate">Дата на которую необходимо получить адрес</param>
        /// <returns>Строку с полным адресом запроса папки для произвольной даты</returns>
        public string FullFTPAdressCurrentDate(DateTime CurrentDate)
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate);// возвращаем значение с полным адресом запроса папки для произвольной даты
        }
Damenikx, поправьте.
Понял, делаю.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 12:19
Damenikx, необходимо поправить во всех аналогичных случаях.
Угадайте, что мы с вами делаем?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 12:25  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
Damenikx, необходимо поправить во всех аналогичных случаях.
Угадайте, что мы с вами делаем?
Мы делаем описание работы нашего класса с выводом в XML формат.

Добавлено через 1 минуту
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
namespace ConsoleApplication13.WTPWorker
{
    /// <summary>
    /// Класс предназначенный для работы с настройками FTP.
    /// </summary>
    class FTPSettings
    {
        /// <summary>
        /// Адрес фтп-сервера, публичное свойство.
        /// </summary>
        public string FTPAdress 
        {
            get
            {
                return "ftp://111.1.1.1.1"; //прерываем выполнение метода и возвращаем значение адреса фпт-сервера
            }
        }
        /// <summary>
        ///Адрес папки на сегодня, публично свойство.
        /// </summary>
        public string TodayFoladerAdress
        {
            get
            {
                return DateTime.Now.ToString("yyyyMMdd"); // прерываем выполнение метода и возвращаем сегоднешнею дату
            }
        }
        /// <summary>
        /// Адрес папки для произвольной даты, принимающее в конструкторе произвольную дату.
        /// </summary>
        /// <param name="CurrentDate">Адрес папки</param>
        /// <returns>Строку с адресом произвольной даты</returns>
        public string CurrentDateFolderAdress(DateTime CurrentDate)
        {
            return CurrentDate.ToString("yyyyMMdd"); ///переводит значение сегодняшней даты в строку
        }
        /// <summary>
        /// Полный адрес запроса папки на сегодня, публичное свойство.
        /// </summary>
        public string FullFTPAdressToDay 
        {
            get 
            {
                return FTPAdress + TodayFoladerAdress;//прерываем выполнение метода и возвращаем значения строки FTPAdress + TodayFoladerAdress
            }
        }
        /// <summary>
        /// Полный адрес запроса папки для произвольной даты принимающее к конструкторе произвольную дату, публичная строка с конструктором
        /// </summary>
        /// <param name="CurrentDate">Дата на которую необходимо получить адрес</param>
        /// <returns>Строку с полным адресом запроса папки для произвольной даты</returns>
        public string FullFTPAdressCurrentDate(DateTime CurrentDate)
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate);//прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate)
        }
        /// <summary>
        /// Логин пользователя ФТП - публичное свойство.
        /// </summary>
        public string UserFTP
        {
            get { return "111"; } //прерываем выполнение метода и возвращаем значение с логином от ФТП
        }
        public string PwdFTP
        {
            get { return "111111"; } //прерываем выполнение метода и возвращаем значение c паролем
        }
        /// <summary>
        /// Формируем запрос к ФТП-Серверу. Тип: детальное описание директории.
        /// </summary>
        /// <param name="FolderAdress">Детальное описание директории</param>
        /// <returns>Запрос к Фтп-серверу с детальным описанием директории</returns>
        public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress)
        {
            ///<sumary>
            ///создаём соединение с адресом фтп
            ///</sumary>
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress);
            ///<sumary>
            ///логин, пароль
            ///</sumary>
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP);
            ///<sumary>
            ///не держим соединение после выполнения запроса
            ///</sumary>
            res.KeepAlive = false;
            ///<sumary>
            ///тип данных для передачи
            ///<sumary>
            res.UseBinary = true;
            ///<sumary>
            ///получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты
            ///</sumary>
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
            return res; //возвращаем значение res
        }
    }
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
08.10.2018, 12:30
Цитата Сообщение от Damenikx Посмотреть сообщение
Мы делаем описание работы нашего класса с выводом в XML формат.
не правильно, мы документируем наш класс, и соответственно комментируем.

Добавлено через 1 минуту
Цитата Сообщение от Damenikx Посмотреть сообщение
///<sumary> ///переводит значение сегодняшней даты в строку ///</sumary> return CurrentDate.ToString("yyyyMMdd");
Цитата Сообщение от Damenikx Посмотреть сообщение
///<sumary> ///создаём соединение с адресом фтп ///</sumary>
Цитата Сообщение от Damenikx Посмотреть сообщение
//<sumary> ///логин, пароль ///</sumary>
Цитата Сообщение от Damenikx Посмотреть сообщение
///<sumary> ///не держим соединение после выполнения запроса ///</sumary>
Цитата Сообщение от Damenikx Посмотреть сообщение
///<sumary> ///тип данных для передачи ///<sumary>
Цитата Сообщение от Damenikx Посмотреть сообщение
///<sumary> ///получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты ///</sumary>
Damenikx, переделать.

Добавлено через 1 минуту
Damenikx, самостоятельно включайте голову, не бойтесь ошибаться, но при этом бойтесь не сделать.
Не забывайте, то что относится как замечание, к части, то же может относится и к целому.

Добавлено через 1 минуту
Цитата Сообщение от Damenikx Посмотреть сообщение
public string PwdFTP { get { return "111111"; } //прерываем выполнение метода и возвращаем значение c паролем }
Damenikx, здесь чего-то не хватает. Переделать!

Не по теме:


Я понимаю, что замучал уже вас, но как говорится тяжело в учении, да легко в бою.

1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
08.10.2018, 12:33  [ТС]
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
namespace ConsoleApplication13.WTPWorker
{
    /// <summary>
    /// Класс предназначенный для работы с настройками FTP.
    /// </summary>
    class FTPSettings
    {
        /// <summary>
        /// Адрес фтп-сервера, публичное свойство.
        /// </summary>
        public string FTPAdress 
        {
            get
            {
                return "ftp://1.1.1.1.1"; //прерываем выполнение метода и возвращаем значение адреса фпт-сервера
            }
        }
        /// <summary>
        /// ///Адрес папки на сегодня, публично свойство.
        /// </summary>
        public string TodayFoladerAdress
        {
            get
            {
                return DateTime.Now.ToString("yyyyMMdd"); // прерываем выполнение метода и возвращаем сегоднешнею дату
            }
        }
        /// <summary>
        /// Адрес папки для произвольной даты, принимающее в конструкторе произвольную дату.
        /// </summary>
        /// <param name="CurrentDate">Адрес папки</param>
        /// <returns>Строку с адресом произвольной даты</returns>
        public string CurrentDateFolderAdress(DateTime CurrentDate)
        {
            return CurrentDate.ToString("yyyyMMdd"); ///переводит значение сегодняшней даты в строку
        }
        /// <summary>
        /// Полный адрес запроса папки на сегодня, публичное свойство.
        /// </summary>
        public string FullFTPAdressToDay 
        {
            get 
            {
                return FTPAdress + TodayFoladerAdress;//прерываем выполнение метода и возвращаем значения строки FTPAdress + TodayFoladerAdress
            }
        }
        /// <summary>
        /// Полный адрес запроса папки для произвольной даты принмающее к конструкторе произвольную дату, публичная строка с конструктором
        /// </summary>
        /// <param name="CurrentDate">Дата на которую необходимо получть адрес</param>
        /// <returns>Строку с полным адресом запроса папки для произвольной даты</returns>
        public string FullFTPAdressCurrentDate(DateTime CurrentDate)
        {
            return FTPAdress + CurrentDateFolderAdress(CurrentDate);//прерываем выполнение метода и возвращаем значение FTPAdress + CurrentDateFolderAdress(CurrentDate)
        }
        /// <summary>
        /// Логин пользователя ФТП - публичное свойство.
        /// </summary>
        public string UserFTP
        {
            get { return "1111"; } //прерываем выполнение метода и возвращаем значение с логином от ФТП
        }
        public string PwdFTP
        {
            get { return "1111"; } //прерываем выполнение метода и возвращаем значение c паролем от ФТП
        }
        /// <summary>
        /// Формируем запрос к ФТП-Серверу. Тип: детальное описание директории.
        /// </summary>
        /// <param name="FolderAdress">Детальное описание директори</param>
        /// <returns>Запрос к Фтп-серверу с детальным описанием директории</returns>
        public FtpWebRequest RequestToDirrectoryDetails(string FolderAdress)
        {
            var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress); ///создаём соединение с адресом фтп
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP); ///логин, пароль
            res.KeepAlive = false;///не держим соединение после выполнения запроса
            res.UseBinary = true;///тип данных для передачи
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails; ///получаем список файлов на, которые находятся на фтп - сервере, в папке с текущей даты
            return res; //возвращаем значение res
        }
    }
}
Добавлено через 2 минуты
Цитата Сообщение от V_Monomax Посмотреть сообщение
Не по теме:
Я понимаю, что замучал уже вас, но как говорится тяжело в учении, да легко в бою.
__________________
Ни капли. Я буду делать хоть 1000 раз одно и тоже, понимая, что это нужно. Всё, как скажете, так и сделаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2018, 12:33

Скачивание файла с 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;); Вот такой код...


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

Или воспользуйтесь поиском по форуму:
100
Закрытая тема Создать тему
Новые блоги и статьи
Часы электронные
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