Solved

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

Posted on 2006-10-24
2
202 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
[X]
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
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

What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.

Question has a verified solution.

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

This is an explanation of a simple data model to help parse a JSON feed
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Progress

717 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