Передача двоичных данных через веб-сервис 1С
Есть два способа отправки двоичных данных (данных файлов) через веб-сервисы, созданные на платформе 1С.
Способ отправки двоичных данных через строку
- Получаем двоичные данные. Можно из файла на диске:
Или для свойства объекта типа ХранилищеЗначения:ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайлаНаДиске);
ДвоичныеДанные = ОбъектДанныхДанных.ДанныеХранилища.Получить();
-
Конвертируем данные в строку с помощью функции Base64Строка:
СтрокаBase64 = Base64Строка(ДвоичныеДанные);
-
У веб-сервиса указываем возвращаемое значение типа string:
-
В процедуре возвращаем переменную СтрокаBase64:
... Возврат СтрокаBase64;
-
На стороне приемника конвертируем обратно:
Данные = Base64Значение(СтрокаBase64);
Отправка двоичных данных через веб-сервис через base64Binary
Можно выбрать тип возвращаемого значения base64Binary и возвращать двоичные данные напрямую без конвертации в строку.
В свойствах метода веб-сервиса указываем тип base64Binary:

Преимущества этого способа:
- Не требуется преобразование в строку и обратно
- Более эффективная передача данных
- Поддерживается стандартами веб-сервисов