Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: FTP-соединение
Дальше: Записать файлы на сервер

Получить файлы с сервера

Предположим, нам нужно получить файлы определенного типа с FTP-сервера через FTP-соединение. Для этого нужно создать FTP-соединение с сервером, используя имя FTP-сервера, а также имя и пароль пользователя на этом сервере. Затем найти нужные файлы по заданной маске (например, "*.tif") методом НайтиФайлы() в каталоге на сервере и скопировать найденные файлы (объекты FTPФайл) в локальный каталог на компьютере пользователя методом Получить() объекта FTPСоединение.

Обработчик команды для получения файлов с FTP-сервера может выглядеть следующим образом (листинг 1.143).

Листинг 1.143. Процедура «ПолучитьФайлыССервера»

&НаКлиенте

Процедура ПолучитьФайлыССервера(Команда)

 

Сообщение = Новый СообщениеПользователю;

 

Попытка

// Установить соединение с FTP-сервером.

FTPСервер = Новый FTPСоединение(Сервер, , ИмяПользователя, ПарольПользователя);

Исключение

// Вывести сообщение об ошибке соединения с сервером.

Сообщение.Текст = "Не удалось соединиться с сервером: " + Сервер;

Сообщение.Сообщить();

Сообщение.Текст = ОписаниеОшибки();

Сообщение.Сообщить();

Возврат;

КонецПопытки;

 

// Найти файлы в нужном каталоге по указанной маске.

МаскаФайлов = "*.tif";

МассивФайлов = FTPСервер.НайтиФайлы(КаталогНаСервере, МаскаФайлов);

 

Для Каждого Файл Из МассивФайлов Цикл

// Проверить, что это не каталог.

Если Файл.ЭтоФайл() Тогда

 

// Копировать файл в локальный каталог.

Сообщение.Текст = "Считывается файл - " + Файл.Имя;

Сообщение.Сообщить();

 

FTPСервер.Получить(Файл.ПолноеИмя, ЛокальныйКаталог + Файл.Имя);

КонецЕсли;

КонецЦикла;

 

КонецПроцедуры

В первом параметре метода Получить() содержится относительный адрес ресурса на FTP-сервере (полное имя FTP-файла), из которого будут прочитаны данные. Во втором – полное имя файла, в который будут помещены данные полученного ресурса.

Назад: FTP-соединение
Дальше: Записать файлы на сервер