Функции для работы с вложениями
Функции для работы с вложениями упрощают получение сведений о вложениях, хранящихся в сообщении, например, из загрузки файлов по 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> | Заголовок вложения с заданным именем, преобразованный в заданный тип. |
attachmentsKeys | Set | Все ключи вложений (имена файлов). Чтобы узнать имена файлов, вы можете использовать ${attachmentsKeys}, который возвращает Set со всеми ключами. |
attachment\[key] | DataHandler | jakarta.activation.DataHandler для данного вложения. |
attachments.size | int | Количество вложений. Равно 0, если вложений нет. Например, вы используете http-trigger для предоставления HTTP-конечной точки, которая поддерживает загрузку файлов через http multipart, тогда вы можете использовать ${attachments.size}, чтобы узнать, сколько файлов вложено. |
attachments | Map | Все вложения в виде 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})} |
clearAttachments | null | Удаляет все существующие вложения в сообщении. |