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 << “#{ tmp_data }”
…
how should I do write the tmp_data ?
should I use : open(remote_file ).read
thanks for your suggestions
now I would like to pass the content of this temp file as a base64
value
…
ticketing_xml << “#{ tmp_data }”
…
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
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’ Pivotal Tracker - Sign in
to get and store the file locally
2- read the file locally , encode it and pass the content as a value
in the xml
any idea on how to do that ?
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 << “#{ tmp_data }”
Then do
require ‘base64’
ticketing_xml << “#{ Base64.encode64(tmp_data)
}”
On Sep 14, 2010, at 3:00 PM, Erwin wrote:
system…
=>, the open(remote_file ).read doesn’t give me the file, but the
html…
so, I need to to :
1 - ‘execute’ Pivotal Tracker - Sign in
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
Hi Philip
this url is a route to Pivotal web app…
when I use “Pivotal Tracker - Sign in”
in my browser, I get a corresponding file attachment downloaded…
so, this is an url to Pivotal web app, which execute the
action :download in the controller Resource send the file … which
open in my browser
so I cannot use this url as a file location url (with open-uri ) and
I don’t get the file location …
seems to be redirected to an amazon S3 location where the file is
located… ( yes, the response is You have been redirected blah
blah)