Avatar billede pelskee Nybegynder
19. november 2003 - 09:58 Der er 14 kommentarer og
1 løsning

Vis default billede hvis filen ikke eksisterer

jeg prøver at få en if then else til at virke - med 3 kriterier. Men det virker ikke, den viser hele tiden "ugyldigt_billede.jpg" selvom der er en værdi og filen eksisterer.

1. hvis værdien fra DB er tom skal den vise "intet_billede.jpg"
2. hvis der er en værdi og der ligger en fil med samme navn i det pågældende bibliotek skal billedet vises
3. hvis der er en værdi men der ikke er nogen fil med samme navn skal den vise "ugyldigt_billede.jpg"

koden:
<% Set fs=Server.CreateObject("Scripting.FileSystemObject")
if Trim(rsDistrikt.Fields.Item("Billede").Value) = "intet_billede.jpg" then
      filnavn = "../../images/admin/intet_billede.jpg"
else
If (fs.FileExists("../../images/distrikt/" & rsDistrikt.Fields.Item("Billede").Value)) = true then
        filnavn = "../../images/distrikt/" & rsDistrikt.Fields.Item("Billede").Value
      Else
        filnavn = "../../images/admin/ugyldigt_billede.jpg"
      End If
      set fs = nothing
end if %>
Avatar billede dk_akj Nybegynder
19. november 2003 - 10:08 #1
Filesystemobjectet kender ikke .. syntaxen, den skal have den absolute sti
f.eks c:\inetpub\wwwroot\site\images\filnavn.jpg

Du skal bruge server.mappath(".")

noget i denne stil:
    checkfil = server.mappath("..\..") & "images\distrikt\" & rsDistrikt.Fields.Item("Billede").Value"

    If (fs.FileExists(checkfil) = true then


//akj
Avatar billede doeboy Nybegynder
19. november 2003 - 10:10 #2
ikke helt det samme som din kode
men kan dette ikke bruges ?

<% if  rs("billed") = "" then  %>
<img src="../../images/admin/ugyldigt_billede.jpg">
<% else %>
<img src="<% = profil.Fields("avatar")%>">
Avatar billede doeboy Nybegynder
19. november 2003 - 10:11 #3
heh er vidst ikke helt vågnet

<img src="<% = profil.Fields("avatar")%>">
er selvfølgelig

<img src="<% = rs("billed")%>">
Avatar billede pelskee Nybegynder
19. november 2003 - 10:11 #4
sådan noget i denne retning ?:

d:\home\borderwinesdk\www\images\distrikt

men hvordan implementerer jeg det du har skrevet med det jeg selv har ?
Avatar billede pelskee Nybegynder
19. november 2003 - 10:13 #5
doeboy - den skal kunne checke for 3 kombinationer: tom værdi = intet billede, værdi der eksisterer på serveren = billedet, værdi men ikke eksisterer på serveren = ugyldigt billede
Avatar billede dk_akj Nybegynder
19. november 2003 - 10:14 #6
<% Set fs=Server.CreateObject("Scripting.FileSystemObject")
if Trim(rsDistrikt.Fields.Item("Billede").Value) = "intet_billede.jpg" then
      filnavn = "../../images/admin/intet_billede.jpg"
else
    checkfil = server.mappath("..\..") & "images\distrikt\" & rsDistrikt.Fields.Item("Billede").Value"
    response.write "Check om " & checkfil & "findes ??"
    If (fs.FileExists(checkfil) = true then
    If fs.FileExists(checkfil) = true then
        filnavn = "../../images/distrikt/" & rsDistrikt.Fields.Item("Billede").Value
      Else
        filnavn = "../../images/admin/ugyldigt_billede.jpg"
      End If
      set fs = nothing
end if %>

//akj
Avatar billede pelskee Nybegynder
19. november 2003 - 10:16 #7
dk_akj - tror du jeg kan bruge dette:

<% Set fs=Server.CreateObject("Scripting.FileSystemObject")
if Trim(rsDistrikt.Fields.Item("Billede").Value) = "intet_billede.jpg" then
      filnavn = "../../images/admin/intet_billede.jpg"
else

checkfil = server.mappath("d:\home\borderwinesdk\www\images\distrikt") & rsDistrikt.Fields.Item("Billede").Value"

    If (fs.FileExists(checkfil) = true then
    filnavn = "../../images/distrikt/" & rsDistrikt.Fields.Item("Billede").Value
    Else
    filnavn = "../../images/admin/ugyldigt_billede.jpg"
      End If
      set fs = nothing
end if %>
Avatar billede pelskee Nybegynder
19. november 2003 - 10:23 #8
får denne fejl på det:
Microsoft VBScript compilation error '800a03ee'

Expected ')'

/admin/vin/opdater_distrikt.asp, line 368

If (fs.FileExists(checkfil) = true then
-----------------------------------^
Avatar billede michael_stim Ekspert
19. november 2003 - 10:24 #9
If (fs.FileExists(checkfil))
Avatar billede pelskee Nybegynder
19. november 2003 - 10:25 #10
my bad der manglede en parantes - men når den når til mappath får jeg denne fejl:

Server.MapPath() error 'ASP 0172 : 80004005'
Invalid Path

/admin/vin/opdater_distrikt.asp, line 366

The Path parameter for the MapPath method must be a virtual path. A physical path was used.
Avatar billede pelskee Nybegynder
19. november 2003 - 10:26 #11
jeg bruger den sti fordi jeg eksempelvis bruger denne hvis jeg skal connecte til en Access database: "Data Source=d:\\home\\becausedk\\db\db.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
Avatar billede pelskee Nybegynder
19. november 2003 - 10:28 #12
jeg kan ikke se hvor/om der er fejl:
checkfil = server.mappath("d:\home\borderwinesdk\www\images\distrikt\") & rsDistrikt.Fields.Item("Billede").Value
Avatar billede dk_akj Nybegynder
19. november 2003 - 10:42 #13
hvad giver dette ?? Din images folder ??

checkfil = server.mappath("..\..") & "images\distrikt\" & rsDistrikt.Fields.Item("Billede").Value"

response.write checkfil

//akj
Avatar billede pelskee Nybegynder
19. november 2003 - 10:51 #14
u da man...- så kører den:

<% Set fs=Server.CreateObject("Scripting.FileSystemObject")
if Trim(rsDistrikt.Fields.Item("Billede").Value) = "intet_billede.jpg" then
      filnavn = "../../images/admin/intet_billede.jpg"
else

checkfil = server.mappath("..\..") & "\images\distrikt\" & rsDistrikt.Fields.Item("Billede").Value

    If (fs.FileExists(checkfil)) = true then
    filnavn = "../../images/distrikt/" & rsDistrikt.Fields.Item("Billede").Value
    Else
    filnavn = "../../images/admin/ugyldigt_billede.jpg"
      End If
      set fs = nothing
end if %>

TUSINDE TAK for hjælpen
Avatar billede dk_akj Nybegynder
19. november 2003 - 11:01 #15
Selvtak, glad for at kunne hjælpe.

//akj
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