On Monday 15 October 2007, Tj Superfly wrote:
Hello everyone, I’ve been trying to find a code that will let me see
an image URL that I enter exists, but am having trouble.
Basically I just need something that will tell me yes or no if the
URL exists or not (meaning the Image is uploaded on the server).
If you don’t care whether it’s an image not, this is relatively easy,
all you need to do is ask the server if the path exists (response code
200) or if the path doesn’t (response code 404). You don’t need to
even download any of the content of the file.
If you care whether the path exists and it’s an image, you’ll need to
check its mime type. If you’re pretty sure the server is doing the
right thing you can do this with a a HTTP head and not transfer the
contents. If you really want to make sure it’s an image you’ll have to
download it and verify the file.
I think checking with an HTTP head that the content-type is an image
content type should be enough, so something like this should do:
url = URI.parse(“http://example.com/images/yer_img_here.foo”)
Net::HTTP.start(url.host, url.port) do |http|
response = http.head(url.path)
when Net::HTTPSuccess, Net::HTTPRedirection
when “image/png”, “image/gif”, “image/jpeg”