Downloading Image

Hello again

As an extension on my previous image problem I can't even successfully
download images from a URL location. I though tthe following simple GET
request along with writing the result to a file would work but it mangles
the image and makes it unreadable.

Net::HTTP.start("www.example.com") do |http|
  resp = http.get("/images/logo.gif")
  outfile = open("C:/logo.gif", "w")
  outfile.write(resp.body)
  outfile.close
end

Have I done something wrong here? Can anyone see what I'm doing wrong?

Sorry for being a pain but I've looked in the mailing list and various
source files but none seem to be shedding any light so I'd be very grateful
for your input.

All the best.

Doug

On Windows you need to write certain files in 'binary' mode. The appropriate mode strings are documented in the IO class:

http://www.ruby-doc.org/core/classes/IO.html

Also, the common idiom for writing is generally like this:

open("somefile.etc", 'wb') { |file|
   file.write(...)
}

This is done in order to ensure that if there's an exception after you open the file (ferinstance, writing when the disk is full, or in a place you don't have write permissions), that the file is still closed. You could do the exception handling yourself, of course, but this is a convenient concise way of doing things.

Hope that helps,
matthew smillie.

···

On Jun 17, 2006, at 17:27, Doug Bromley wrote:

Hello again

As an extension on my previous image problem I can't even successfully
download images from a URL location. I though tthe following simple GET
request along with writing the result to a file would work but it mangles
the image and makes it unreadable.

Net::HTTP.start("www.example.com") do |http|
resp = http.get("/images/logo.gif")
outfile = open("C:/logo.gif", "w")
outfile.write(resp.body)
outfile.close
end

Have I done something wrong here? Can anyone see what I'm doing wrong?

As you're running on Windows, you need to open the file in binary
mode, ie. open("C:/logo.gif", "wb").

Regards,
Sean

···

On 6/17/06, Doug Bromley <doug.bromley@gmail.com> wrote:

Hello again

As an extension on my previous image problem I can't even successfully
download images from a URL location. I though tthe following simple GET
request along with writing the result to a file would work but it mangles
the image and makes it unreadable.

Net::HTTP.start("www.example.com") do |http|
  resp = http.get("/images/logo.gif")
  outfile = open("C:/logo.gif", "w")
  outfile.write(resp.body)
  outfile.close
end

Have I done something wrong here? Can anyone see what I'm doing wrong?

Hello again

As an extension on my previous image problem I can't even successfully
download images from a URL location. I though tthe following simple GET
request along with writing the result to a file would work but it mangles
the image and makes it unreadable.

Net::HTTP.start("www.example.com") do |http|
resp = http.get("/images/logo.gif")
outfile = open("C:/logo.gif", "w")
outfile.write(resp.body)
outfile.close
end

Have I done something wrong here? Can anyone see what I'm doing wrong?

Are you on Windows? Try
outfile = open("C:/logo.gif", "wb")

You need to open the file in `binary' mode to make it not automatically translate line endings.

···

On Jun 17, 2006, at 12:27 PM, Doug Bromley wrote:

Sorry for being a pain but I've looked in the mailing list and various
source files but none seem to be shedding any light so I'd be very grateful
for your input.

All the best.

Doug

Doug Bromley wrote:

Hello again

As an extension on my previous image problem I can't even successfully
download images from a URL location. I though tthe following simple GET
request along with writing the result to a file would work but it
mangles
the image and makes it unreadable.

Net::HTTP.start("www.example.com") do |http|
  resp = http.get("/images/logo.gif")
  outfile = open("C:/logo.gif", "w")
  outfile.write(resp.body)
  outfile.close
end

Have I done something wrong here? Can anyone see what I'm doing wrong?

Sorry for being a pain but I've looked in the mailing list and various
source files but none seem to be shedding any light so I'd be very
grateful
for your input.

All the best.

Doug

Hi All,

Get all images from given URL

Desktop Application from jazzez

Kindly go through below link and download the EXE file.

Install in Windows machine and enjoy with impressed images

Regards,
P.Raveendran

···

--
Posted via http://www.ruby-forum.com/\.

You're all so patient and helpful.

I can't thank you enough.

Have a great weekend.

Doug