Avatar billede stausholm Nybegynder
04. april 2000 - 23:27 Der er 18 kommentarer og
1 løsning

Vis billede hvis findes

Problem.

Jeg bruger følgende streng til at displaye billder med.

<img src="http://test/<%=RS("image1")%>" width="700">


Det der er problemet er, hvis det billedenavn som står i feltet ikke findes i biblioteket, ser det ikke så pænt ud. Er der en mulighed for at sætte et statement ind der tager højde for, hvis billede ikke findes skal der displayes en fil der hedder eks. tom.gif


Avatar billede bocker Nybegynder
04. april 2000 - 23:35 #1
jeg tror ikke lige det du leder efter findes. Men i stedet kunne du bruge en tabel i en database til at gemme din filnavne i, og så lave et True/False felt, som siger om filen eksistere.

Jeg vil ikke sige om du kan få et komponent til at "pinge" billederne. Du kan prøve at kigge på http://www.aspin.com/ og http://www.activeserverpages.dk/. Det kan være du kan lave det med et almindelig billede komponent som ASPImage eller ImageLIB (som er gratis)
Avatar billede snowball Novice
04. april 2000 - 23:41 #2
Jeg vil tro (uden at være den store HTML programmør) at det kan laves vha FileExists som du kan se et eksempel på her:

http://www.15seconds.com/issue/990401.htm 

http://cfm.thescripts.com/docs/CFML_Language_Reference/3_ColdFusion_Functions/lr3_087.htm

Snowball
Avatar billede lange Nybegynder
04. april 2000 - 23:53 #3
Kan gøres med følgende kode (hvertfald hvis billedet ligger lokalt)

<%

Dim FileSys

Set FileSys = CreateObject("Scripting.FileSystemObject")

If (FileSys.FileExists(RS("image1))) Then
  Vis = RS("image1")
Else
  Vis = "tom.gif"
End If

%>
<img src="http://test/<%=Vis%>" width="700">




Avatar billede bocker Nybegynder
05. april 2000 - 00:34 #4
er det ikke sådan:

<%

Dim FileSys

Set FileSys = CreateObject("Scripting.FileSystemObject")

If (FileSys.FileExists(RS("image1))) Then
  Response.Write("<img src='http://test/" & RS("image1)' width='700'>")
End If

%>


sådan ;)
Avatar billede lange Nybegynder
05. april 2000 - 00:41 #5
Nej, for tom.gif skulle vises, hvis billedet ikke fandtes...
Avatar billede sone Nybegynder
05. april 2000 - 07:55 #6
lange: Sådan!

stausholm: Hvorfor refererer du statisk til dit billede - hvorfor ikke slette "http"-delen?
Avatar billede lp Nybegynder
05. april 2000 - 11:47 #7
Denne linje skal vist laves lidt om:
If (FileSys.FileExists(RS("image1))) Then
Til
If (FileSys.FileExists(RS("image1"))) Then

Men det har i sikker fundet ud af :-)

/LP
Avatar billede wieser Nybegynder
05. april 2000 - 11:52 #8
Interessant diskussion -
jeg har samme problem, men mine billedfiler ligger på en anden server (altså jeg er nødt til at lave en absolut link med http:// og hele smøret)
Er der nogle, der har en løsning for det - jeg kan evt. selv oprette et spørgsmål, så vedkommende kan få nogle punkt.

Avatar billede sone Nybegynder
05. april 2000 - 11:54 #9
wieser: Man vil kunne checke om en fil eksisterer via HTTP hvis man bruger IIS5 (win2000)
Avatar billede lp Nybegynder
05. april 2000 - 12:18 #10
For at jeg kunne få det til at fungere var jeg altså nød til at ændre en hel del, derfor kommer min udlægning her:

<%

Dim FileSys

Set FileSys = CreateObject("Scripting.FileSystemObject")
fil = RS("image1")
HOMEPATH="f:\stien\paa\server\picsmappe\"
PATH=HOMEPATH&fil
If (NOT FileSys.FileExists(PATH)) Then
  Vis = "tom.gif"
Else
  Vis = fil
End If
%>
<img src="http://test/<%=Vis%>">

Er der nogen af jer andre der har testet de andre i praksis??

/LP
Avatar billede wieser Nybegynder
05. april 2000 - 12:37 #11
sone: Jeg bruger ikke IIS5 endnu - foreløbigt vil jeg bare kopiere nogle af filerne over og se om ting virker - så må jeg overveje om de også skal ligge derover fremover
Avatar billede hirtshals Nybegynder
05. april 2000 - 13:21 #12
Jeg har med stor succes brugt flg på iis 4.0

myImage = RS("image1")
<%
        Set FileSystem = Server.CreateObject("Scripting.FileSystemObject")
        If FileSystem.FileExists(Server.MapPath(".") & "\images\" & myImage & ".gif") Then
        %>
        <img SRC="images/<%=(Rs("Image"))%>.gif" width="128" height="88">
        <%
        Else
        %>
        <img src="images/tom.gif" width="128" height="88"> 
        <%
        End If
        %>
Avatar billede hirtshals Nybegynder
05. april 2000 - 13:22 #13

        <img SRC="images/<%=(Rs("Image"))%>.gif" width="128" height="88">

skulle være


        <img SRC="images/<%=(Rs("Image1"))%>.gif" width="128" height="88">
Avatar billede lange Nybegynder
05. april 2000 - 22:41 #14
Ok, Er der nogen, der gider forklare mig hvad forskellen på Hirtshals' løsning og mit er?
Avatar billede wieser Nybegynder
05. april 2000 - 22:55 #15
lange: jeg tror ikke, der er den store forske udover at du sendte din løsning som kommentar i stedet for svar.

Jeg har i øvrigt brugt din løsning og det virker! Tusind tak skal du have!
Avatar billede lange Nybegynder
05. april 2000 - 23:02 #16
Heh, fedt, np :)
Avatar billede ortrak Nybegynder
06. april 2000 - 00:59 #17
stausholm: Det er ikke fair play. Lange havde givet dig svaret(kommentaren)...


/ortrak
Avatar billede stausholm Nybegynder
08. april 2000 - 17:02 #18
Sorry lange det er korrekt jeg burde have givet dig halvdelen, jeg testede bare den fra Hirtshals først fordi han skrev det med at han havde haft gode erfaringer med denne løsning og iis 4.0 , jeg tror bare ikke jeg kan gøre det godt igen nu og her. "Undskyld"

/Stausholm
Avatar billede lange Nybegynder
08. april 2000 - 17:44 #19
Well, jeg overlever nok :)
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