I maybe am not understanding what you need, but if you are trying to do this
where you have tmp_data in memory and need to encode tmp_data

ticketing_xml <<  "<value><base64>#{ tmp_data }</base64></value>"

Then do

require 'base64'
ticketing_xml <<  "<value><base64>#{ Base64.encode64(tmp_data)
}</base64></value>"



On Wed, Sep 15, 2010 at 11:13 AM, Philip Hallstrom <[email protected]> wrote:

>
> On Sep 14, 2010, at 3:00 PM, Erwin wrote:
>
> > Thanks Philip, this is better .. it seems a little bit more
> > complicated that I thought
> >
> > I need to get a file that I download from this url....  this not the
> > file url, but an html page to download the file
> > attachment['url'] :: "http://www.pivotaltracker.com/resource/download/
> > 579633"
> >
> > and then pass the encoded content of the downloaded  file  as data
> > into the xml , so it'll become an attachment for another ticketing
> > system....
> >
> > =>, the  open(remote_file ).read  doesn't give me the file, but the
> > html...
> >
> > so, I need to to :
> > 1 - 'execute' http://www.pivotaltracker.com/resource/download/579633
> > to get and store the file locally
>
> I'm not understanding what this step means...  I've never used
> pivotaltracker though..  does going to that page result in a file being
> downloaded?  Is the download the HTTP response?  Or triggered somehow else?
>  If it's the response open-uri should be able to handle it.  I don't recall
> how well open-uri handles redirects so double check that.
>
> -p
>
>
> > 2- read the file locally , encode it and pass the content as a value
> > in the xml
> >
> >
> > any idea on how to do that ?
> >
> >
> >
> >
> >
> > On 14 sep, 19:39, Philip Hallstrom <[email protected]> wrote:
> >>> I am trying to send data from a remote file attachment....
> >>> -------
> >>> attachment['url'] = "http://www.mydomain.com/resource/download/54643";
> >>
> >>> I wrote a class RemoteFile < ::Tempfile to fetch to remote data
> >>> ------
> >>> remote_file = RemoteFile.new(attachment['url'] )
> >>> so, I get a tempfile
> >>>>> #<File:/var/folders/NK/NKfWCW3eEVCg0ERnpPsnME+++TI/-Tmp-/
> >>> 93806edfbb0daf7303347d7faaffc2d0f5b22a1d20100914-5545-1y66mt8-0>
> >>
> >>> now I would like to pass the content of this temp file as a base64
> >>> value
> >>> ...
> >>> ticketing_xml <<  "<value><base64>#{ tmp_data }</base64></value>"
> >>> ...
> >>
> >>> how should I do write the  tmp_data  ?
> >>
> >>>  should I use  :  open(remote_file ).read
> >>
> >> Sure.  If these remote files are big, your Rails processes are going to
> eat a lot of ram.
> >>
> >> Instead of reading things into a temp file first, look into open-uri so
> you can simply read it directly from the remote host into your xml string...
> >>
> >> -philip
> >
> > --
> > 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]<rubyonrails-talk%[email protected]>
> .
> > For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
> >
>
> --
> 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]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
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