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' 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 <phi...@pjkh.com> 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 rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>