Avatar billede lund_dk Praktikant
04. august 2007 - 16:48 Der er 12 kommentarer og
1 løsning

Tjek om link eksisterer

Jeg har brug for en function der kan gå ind og tjekke om et givet link (i dette tilfælde et billede) findes.

eks www.domæne.dk/billeder.jpg

Hvordan kan jeg gøre det?
Avatar billede olebole Juniormester
04. august 2007 - 16:51 #1
<ole>

Jeg ved godt, spm'et ligger under ASP, men jeg spørger alligevel: Må det gøres på klienten - eller skal det være med ASP?  =)

/mvh
</bole>
Avatar billede lund_dk Praktikant
04. august 2007 - 17:02 #2
olebole, er faktisk rimelig underordnet. skal bare have en true/false værdi på en eller anden måde ;)
Avatar billede thesurfer Nybegynder
04. august 2007 - 17:04 #3
Eksempel:

<%
option explicit
function loadurl(url)
dim status

Dim objXMLHTTP, xml

' Create an xmlhttp object:
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
' Or, for version 3.0 of XMLHTTP, use:
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

' Opens the connection to the remote server.
xml.Open "GET", url, False

' Actually Sends the request and returns the data:
xml.Send

status = xml.Status

Set xml = Nothing

' 200 = ok / findes
' 404 = fejl / findes ikke

if status = 200 then
    status = true
else
    status = false
end if

loadurl = status
end function

response.write loadurl("http://www.eksperten.dk/img/elogo.png") ' udskriver true
response.write "<br>" ' udskriver et linieskift
response.write loadurl("http://www.eksperten.dk/img/FINDESIKKE.png") ' udskriver false
%>
Avatar billede thesurfer Nybegynder
04. august 2007 - 17:05 #4
Man kunne også lave det med JavaScript, hvor man bruger onerror på et IMG tag..

Jeg tror at det er noget i den stil, olebole havde i tankerne..
Avatar billede olebole Juniormester
04. august 2007 - 17:06 #5
thesurfer >> lige præcis!  ;o)
Avatar billede thesurfer Nybegynder
04. august 2007 - 17:08 #6
olebole> :-)

lund_dk> Man kunne også gøre scripet lidt mere dynamisk, via querystring:

dim url
url = request.querystring("url")
if url <> "" then
    response.write loadurl(url)
else
    response.write "fejl i url - kan ikke checkes"
end if

Så kaldes scriptet f.eks. med:

check.asp?url=http://www.eksperten.dk/img/elogo.png
Avatar billede thesurfer Nybegynder
04. august 2007 - 17:10 #7
Hvordan skal det egentligt implementeres? Hvis du forventer et output der enten er True eller False, og ikke angiver en værdi i ?url=NogetHer, vil du få "fejl i url - kan ikke checkes" retur, hvilket ikke passer ind i dit True/False scenarie.. :-)
Avatar billede thesurfer Nybegynder
04. august 2007 - 17:16 #8
Hvis det er vigtigt/kritisk, vil jeg foretrække en ASP løsning, da JavaScript kan slåes fra.
Hvis det er knap så kritisk, ville jeg sikkert lave det i JavaScript.
Avatar billede lund_dk Praktikant
04. august 2007 - 23:13 #9
Jeg nappede ASP løsning som virker :D

Smid et svar :D
Avatar billede thesurfer Nybegynder
05. august 2007 - 00:07 #10
Et svar er smidt :-)
Avatar billede euhp Nybegynder
12. august 2007 - 11:30 #11
Ja... skrot javascript til det her, lad serveren håndtere det og ikke den stakkels klient!!!
Avatar billede thesurfer Nybegynder
12. august 2007 - 11:39 #12
Jeg ville nu ikke sige "stakkelse klient"..

Som jeg skrev, hvis det var kritisk, ville jeg bruge ASP på serversiden..

Hvis det ikke var kritisk, ville jeg bruge onError på klientsiden.. som olebole også ville have henvist til..

Man skal helst lade klienten lave så meget af arbejdet som muligt, da serveren ellers får travlt, hvis der er mange brugere..

Men igen: Tænk altid på sikkerheden, og stol aldrig på brugeren / kliensiden, da klientside data kan manipuleres.

:-)
Avatar billede euhp Nybegynder
12. august 2007 - 22:23 #13
ja, plus det at du kan få en false selvom filen faktisk eksisterer, men af en eller anden grund ikke er tilgængeilg. Den fejl kan du ikke tage højde for og dermed kan javascript ikke bruges hvis du vil fortælle brugere at "serveren er nede/overbelastet/etc". :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester