Download an Image using Net::HTTP


#1

Hi,

I need to download an image, and I’ve mucked about with Net::HTTP

resp = Net::HTTP.get_response(‘www.mydomain.com’, ‘/test.jpg’)
f = File.new(“test.jpg”,“w”)
f.write(response.body)

And various other combinations using HTTP.get etc. Anyway, I get an
image, but it looks very psychedelic. This is obviously not the correct
way. I also don’t want to use Imagemagick for this.

Has anybody done this before?

Joerg


#2

On 1/22/06, Joerg D. removed_email_address@domain.invalid wrote:

way. I also don’t want to use Imagemagick for this.

Has anybody done this before?

Are you on Windows? If so, you need to use:

f = File.new(“test.jpg”,“wb”)

See http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/18810
for a discussion of why, and
http://www.ruby-doc.org/core/classes/IO.html for the documentation of
this mode.

Joerg

Anthony


#3

On Jan 22, 2006, at 8:06 AM, Anthony Elizondo wrote:

image, but it looks very psychedelic. This is obviously not the
for a discussion of why, and
http://www.ruby-doc.org/core/classes/IO.html for the documentation of
this mode.

Joerg

Anthony

Also you are trying to write response.body into the file when you
should be using resp.body because resp is the var you used to set up
the Net::HTTP object

Cheers-
-Ezra Z.
WebMaster
Yakima Herald-Republic Newspaper
removed_email_address@domain.invalid
509-577-7732


#4

Ah - of course. Thank you.

Are you on Windows? If so, you need to use:

f = File.new(“test.jpg”,“wb”)