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