FTP с заботой о клиенте

Пишу выгрузку на FTP для базы, которая работает в облаке Fresh.

Конечно, проще было бы прямо на сервере выгружать документы на FTP. Но есть один момент. Сервер — это само облако Fresh и там могут быть перекрыты порты.

Поэтому я сначала выгружаю файлы на сервере (в список, где ключ — двоичные данные, а представление — имя файла внутри каталога), потом отдаю их на клиент и уже там выгружаю на FTP:

    //Пробуем подключиться к FTP
   
Попытка
       
FTPСоединение = ПодключитьсяКFTPСерверу(FTP_Адрес, FTP_Порт, FTP_Логин, FTP_Пароль);
    Исключение
       
ПоказатьПредупреждение(,  «Ошибка: » + ОписаниеОшибки(), ,«Ошибка подключения к FTP»);
        Возврат;
    КонецПопытки;
   
Лок_ИмяКаталога = ПолучитьИмяВременногоФайла();
   
СоздатьКаталог(Лок_ИмяКаталога);
   
Внеш_ИмяКаталога = FTP_ПутьДоКорневойДиректории + «\» + РезультатВыгрузки.ИмяКаталога;
   
FTPСоединение.СоздатьКаталог(Внеш_ИмяКаталога);
    Для Каждого
Эл Из РезультатВыгрузки.СписокФайлов Цикл
       
ДД = Эл.Значение;
       
Лок_ИмяФайла = Лок_ИмяКаталога + «\» + Эл.Представление;
       
ДД.Записать(Лок_ИмяФайла); //Записываем файл в локальный
       
Внеш_ИмяФайла = Внеш_ИмяКаталога + «\» + Эл.Представление;
       
FTPСоединение.Записать(Лок_ИмяФайла, Внеш_ИмяФайла);
    КонецЦикла;
   
УдалитьФайлы(Лок_ИмяКаталога);
   
ПоказатьПредупреждение(, «Данные выгружены на сервер в каталог: » + Внеш_ИмяКаталога,, «Выгрузка ОК»);

Результат радует:

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *