Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

how to check if a URL is valid before making a connection

Posted on 2006-10-24
2
200 Views
Last Modified: 2010-04-16
Hi guys

i have this code in which I check whether there is an image stored on the server or a link to an image is provided. Now what I need is that if the image link doesn't go to a valid image then it shouldn't show the image. Also when I write some random word a s a link to the image such as 'jsadsakd' it throws an error and doesn't display the whole page at all


her is my code
----------------------
 <% if(chapter_sponsor.getImage_size() > 0){%>
                                <td>
                                    <a href ="<%= chapter_sponsor.getImage_link() %>" target="_blank" ><img src="attachments/sponsors/<%=chapter_ID%><%=chapter_sponsor.getSponsor_ID()%>" border="0" width="200" height="100"></a>      
                                </td>
                                <%}else if(!checkNull(chapter_sponsor.getSponsor_image_url()).equals("")){
                                          URL img = new URL(chapter_sponsor.getSponsor_image_url());
                                          try{
                                                HttpURLConnection con = (HttpURLConnection )img.openConnection();
                                                if(con.getResponseCode()!=HttpURLConnection.HTTP_NOT_FOUND){%>
                                                      <td>
                                                      <a href ="<%= chapter_sponsor.getImage_link() %>" target="_blank" ><img src="<%=chapter_sponsor.getSponsor_image_url()%>" border="0" width="200" height="100"></a>      
                                                      </td>
                                         <%}}catch(IOException e)
                                    { %>
                                                <td>
                                                      <a href ="<%= chapter_sponsor.getImage_link() %>" target="_blank" ><img src="http://www.ccim.com/common/images/missing_photo.gif" border="0" width="200" height="100">
                                                </td>

                              <% }}%>
0
Comment
Question by:huzefaq
2 Comments
 
LVL 41

Expert Comment

by:HonorGod
ID: 17798272
 Is this validation to be performed by the server?  You might try retrieving the image (on the server) before you put the image URL in the src attribute.
0
 
LVL 3

Accepted Solution

by:
royce2020 earned 500 total points
ID: 17800447
You could try checking the link for the substing ".jpg"  for instance, the following function will return true if the link ends in a valid image extention, and false if something else (you could also add elements to ArrExtentions for more image types.):

function RealImg(strLink as string)
    ret = false
    ArrExtentions = array (".jpg",".jpeg",".gif",".png")
    for i = 0 to ubound (ArrExtentions) -1
        if lcase(left(strLink,(len(ArrExtentions(i))))) = ArrExtentions(i) then ret = true
    next i
    RealImg = ret
end function
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
A short article about a problem I had getting the GPS LocationListener working.

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question