Ok thanks guys, i now know how the best way to tackle this,

JB

On 2 Sep, 11:19, Aleksey Gureiev <[email protected]> wrote:
> Here's what you basically do:
>
>         require 'rexml/document'
>         require 'base64'
>
>         filename = 'file.dat'
>         xml = '... contents of test.xml ...'
>
>         doc = REXML::Document.new(xml)
>         str = 
> doc.root.elements['Sheet1'].elements['PhotoTaken1'].text.gsub(/\s+/, '')
>
>         File.open(filename, 'wb') { |f| f.write Base64.decode64(str) }
>
> In case of Paperclip::Processor, you will need to read the contents of the 
> uploaded file and output the decoded contents into a temp file. Here's a good 
> link to see how processors are 
> built:http://mdeering.com/posts/018-paperclip-processors-doing-so-much-more...
>
> Also, I just checked the contents of the encoded data and it doesn't appear 
> to be an image, so... just be warned. Check it in the hex editor when 
> decoded. You'll see what I mean.
>
> To put it back into XML, just read the contents of the saved Paperclip file, 
> encode it (Base64.encode64) and put it back into the XML tag (see creating 
> documents with REXML).
>
> - A
>
> On 02/09/2010, at 12:59 PM, John Butler wrote:
>
>
>
> > Ok thanks, i did read about using Base64 to decode it but my main issue
> > is as you say understanding
> > what format it was decoded in the first place.  Please find a sample
> > attached
>
> > thanks
>
> > JB
>
> > Aleksey Gureiev wrote:
> >> How the image is encoded into XML? Can you give an example?
>
> >> Is it a CDATA section with Base64 or something else? If it's a known
> >> encoding, you just read it as an attribute / tag value and then decode
> >> using an appropriate decoder, then open the file in binary mode and
> >> save the decoded version there. If it's paperclip that accepts the
> >> XML, there's such thing as processors that you can use to write a
> >> processor that extracts the image and replaces the original XML file
> >> with the extracted thing.
>
> >> In order to put the image back into XML, again you use the encoder
> >> (Base64, for example) and put the resulting value inside the tag.
>
> >> Again, if you give a sample XML, I may be able to give more precise
> >> suggestions.
>
> >> Cheers,
> >> - A
>
> > Attachments:
> >http://www.ruby-forum.com/attachment/4995/test.xml
>
> > --
> > Posted viahttp://www.ruby-forum.com/.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Ruby on Rails: Talk" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/rubyonrails-talk?hl=en.
>
>
>
>  PGP.sig
> < 1KViewDownload

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to