7 Replies Latest reply on Sep 3, 2008 6:04 AM by (Scott_Brodersen)

    Blobs in xml


      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

        • 1. Re: Blobs in xml
          HowardTreisman Level 1
          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 support-at-avoka.com, and they'll get you an answer...
          • 2. Re: Blobs in xml
            Sentah Level 1
            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
            • 3. Re: Blobs in xml
              pguerett Level 6
              In version 8.2 there is a base64 encoding exposed in the document extension for xpath.
              • 4. Re: Blobs in xml
                HowardTreisman Level 1
                • 5. Re: Blobs in xml
                  Sentah Level 1
                  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 ?
                  • 6. Re: Blobs in xml
                    pguerett Level 6
                    In 8.2 it is applied to a document variable so to answer your question ...No.
                    • 7. Re: Blobs in xml
                      Level 1
                      Here are the Xpath functions:

                      getDocContentBase64 http://livedocs.adobe.com/livecycle/8.2/wb_help/001335.html

                      getDocFromBase64 http://livedocs.adobe.com/livecycle/8.2/wb_help/001336.html