Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

Функции для работы с вложениями

Функции для работы с вложениями упрощают получение сведений о вложениях, хранящихся в сообщении, например, из загрузки файлов по HTTP, писем с вложениями и т.д.

Функции вложений используются только с компонентами, которые поддерживают API javax.attachments, такими как SOAP, HTTP-sender, HTTP-trigger, компоненты для работы с почтой и т.д. key — это имя файла вложения, например mydata.xml, или int для поиска по индексу (0 = первый).

ФункцияТип ответаОписание
attachmentContent(key)ObjectСодержимое вложения.
Ключом является либо имя файла, например ${attachmentContent(mydata.xml)}, либо индекс (начиная с 0) ${attachmentContent(0)}.
attachmentContentAs(key,type)ObjectСодержимое вложения, преобразованное в заданный тип.
attachmentContentAsText(key)StringСодержимое вложения в виде текста (т.е. String).
Если прикрепленный файл является текстовым, вы можете получить доступ к полезной нагрузке через ${attachmentContentAsText(mydata.xml)} или по индексу ${attachmentContentAsText(0)}, который возвращает полезную нагрузку в виде значения String.
attachmentHeader(key,name)ObjectЗаголовок вложения с заданным именем.
attachmentHeaderAs(key,name,type)<T>Заголовок вложения с заданным именем, преобразованный в заданный тип.
attachmentsKeysSetВсе ключи вложений (имена файлов).
Чтобы узнать имена файлов, вы можете использовать ${attachmentsKeys}, который возвращает Set со всеми ключами.
attachment\[key]DataHandlerjakarta.activation.DataHandler для данного вложения.
attachments.sizeintКоличество вложений. Равно 0, если вложений нет.
Например, вы используете http-trigger для предоставления HTTP-конечной точки, которая поддерживает загрузку файлов через http multipart, тогда вы можете использовать ${attachments.size}, чтобы узнать, сколько файлов вложено.
attachmentsMapВсе вложения в виде Map<String,jakarta.activation.DataHandler>.
setAttachment(key,exp)nullУстанавливает вложение с полезной нагрузкой из тела сообщения/выражения.
Функция setAttachment используется для добавления, обновления или удаления вложений. Если выражение равно null, то любое существующее вложение удаляется, например ${setAttachment(mydata.xml,null)}.
Вы можете добавить вложение, например ${setAttachment(mydata2.xml)}, которое затем будет использовать текущее тело сообщения в качестве полезной нагрузки. Вы также можете использовать выражение, например, из переменной: ${setAttachment(mydata2.xml,${variable.mydata})}.Тип содержимого вложения будет определен автоматически. Полезная нагрузка вложения также может ссылаться на ресурсы из файловой системы или classpath, добавляя префикс resource: следующим образом: ${setAttachment(mydata2.xml,resource:file:/inbox/mydata2.xml)} Чтобы сделать имя файла динамическим, вы можете сохранить имя в переменной, например: ${setAttachment(mydata2.xml,resource:file:${variable.attachmentName})}
clearAttachmentsnullУдаляет все существующие вложения в сообщении.