Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

[AEM Gems Webinar] Accelerating Experience Manager as a Cloud Service development with Rapid Development Environments

Blobs in xml


Level 2

Has anyone handled BLOB/image types in process workflow. I have a scenario where I extract the data(blob) from database and return the same as an xml output to the caller. Do i have to handle the blob return type specially while trying to embed in the xml? I know we have to convert the blob to a binary stream. Has anyone done it before ?

for .e.g my xml doesn't reflect the real value when retrieved from the database.

Dummy Sketch

7 Replies


Level 9
Hi Senthil

Blobs are usually stored in XML in some sort of encoded format, usually Base64.

We have a component for base64 encoding and decoding. I'm not sure off the top of my head whether our SQL component handles blob types in the database. If you'd like to verify, please email, and they'll get you an answer...



Level 2
I was able to solve this using a custom component and would be glad to know any alternative approaches.

-Read the image as a blob

-encode it into base64 using apache commons base64 (org.apache.commons.codec.binary.Base64) into a byte array (there is just 1 trick here , i think its specific to oracle db)

-create a new string out of byte array and return the same.

For decoding its the reverse process

-Read the encoded string

-decode it using Base64.decodeBase64(bytearray)

-create a new blob or a file

-insert into db


Level 10
In version 8.2 there is a base64 encoding exposed in the document extension for xpath.


Level 2
Hi Paul,

Thanks for the update, I did try the option and it always returned an empty xml indicating that it was unable to convert it to a base64 format.

I am just trying to understand how to use the base64 encoding on the returned blob object from an underlying sql query. Is there anyway we can do it just on the blob object alone and not on every field ?


Level 10
In 8.2 it is applied to a document variable so to answer your question ...No.