blob: 5cd8c5cf1595364c2afe07d3edb5327b1c531910 [file] [log] [blame]
= Attachments Component
:doctitle: Attachments
:shortname: attachments
:artifactid: camel-attachments
:description: Support for attachments on Camel messages
:since: 3.0
:supportlevel: Stable
:tabs-sync-option:
*Since Camel {since}*
The Attachments component provides the `javax.attachments` API support for Apache Camel.
A few Camel component uses attachments such as mail and web-service components.
The Attachments component is included automatically when using these components.
The Attachments support is on Camel `Message` level, for example to get
the `javax.activation.DataHandler` instance of the attachment, you can do as shown below:
[source,java]
----
AttachmentMessage attMsg = exchange.getIn(AttachmentMessage.class);
Attachment attachment = attMsg.getAttachmentObject("myAttachment");
DataHandler dh = attachment.getDataHandler();
----
And if you want to add an attachment, to a Camel `Message` you can do as shown:
[source,java]
----
AttachmentMessage attMsg = exchange.getIn(AttachmentMessage.class);
attMsg.addAttachment("message1.xml", new DataHandler(new CamelFileDataSource(new File("myMessage1.xml"))));
----