[ASP] File system object, controle file exists

Pagina: 1
Acties:
  • 66 views sinds 30-01-2008

  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 24-07 13:40
De volgende code werkt:

code:
1
2
3
4
5
6
7
<% Set fs = CreateObject("Scripting.FileSystemObject") 
   if fs.FileExists("D:\Inetpub\wwwroot\win\52231.jpg") then 
      Response.Write "Het werkt"
   else
      Response.Write "Werkt niet"
   end if 
      set fs=nothing %>


Echter ik moet controleren of het plaatje aanwezig is aan de hand van een dynamisch plaatje:

code:
1
2
3
4
5
6
7
8
<% Set fs = CreateObject("Scripting.FileSystemObject") %>
    <a href="detail.asp?<%= MM_keepURL & MM_joinChar(MM_keepURL) & "Reference_no=" & basicinfo.Fields.Item("Reference_no").Value %>">
     <% if fs.FileExists("c:\inetpub\wwwroot\win\images\thumbnails\<%=(basicinfo.Fields.Item("Reference_no").Value)%>_1s.jpg"))) then %>
          [img]"images\thumbnails\<%=(basicinfo.Fields.Item("Reference_no").Value)%>_1s.jpg"[/img]</a><br>
        else
          [img]"images/no_image.gif"[/img]
        end if
     set fs=nothing


Ik krijg de haakjes en de tags maar niet goed.

Het plaatje wordt dus gegenereerd aan de hand van het Reference_no en de toevoeging _1s.jpg

Iemand een idee ?

Pay peanuts get monkeys !


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Kijk eens heel goed naar
<% if fs.FileExists("c:\inetpub\wwwroot\win\images\thumbnails\<%=(basicinfo.Fields.Item("Reference_no").Value)%>_1s.jpg"))) then %>
Wat zou hier niet aan kloppen?

Sowieso is het misschien nog een idee om de code nog een paar keer extra door te nemen, want wel meer zaken kloppen niet (ASP welke buiten de script-tags staan, onafgesloten links.
Daarnaast kan je methodiek van objecten aanroepen problemen veroorzaken (zie ook: http://www.asp101.com/tips/index.asp?id=88)
En ik vraag me ook af waarom je continue de script tags afsluit en er niet een stukje 'code' van maakt...

Kortom: kijk eens heel goed naar het voorbeeld wat wel werkt (afgezien van CreateObject, waar ik het niet mee eens ben) en jouw niet werkende voorbeeld

[ Voor 110% gewijzigd door gorgi_19 op 17-12-2002 01:23 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Dutch_guy
  • Registratie: September 2001
  • Laatst online: 24-07 13:40
Bedankt voor de reply, maar ik kom er niet uit.

Ik heb nu het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
<%Set fs = Server.CreateObject("Scripting.FileSystemObject")      
         if fs.FileExists("c:\inetpub\wwwroot\win\images\thumbnails\=(basicinfo.Fields.Item("Reference_no").Value)_1s.jpg") Then
    %>
      [img]"images\thumbnails\=(basicinfo.Fields.Item("Reference_no").Value)_1s.jpg"[/img]<br>
        <% 
    else
    %>  
    [img]"images/no_image.gif"[/img]
    <% 
    end if 
      set fs=nothing %>



Maar ik krijg continu de error:

Error Type:
Microsoft VBScript compilation (0x800A03EE)
Expected ')'

Voorheen kon ik gewoon het dynamische plaatje tonen met:

code:
1
[img]"images\thumbnails\<%=(basicinfo.Fields.Item("Reference_no").Value)%>_1s.jpg"[/img]


Dus waarom het niet lukt in combinatie met een if-statement snap ik niet.

Pay peanuts get monkeys !


Verwijderd

hier zit de fout:
code:
1
("c:\inetpub\wwwroot\win\images\thumbnails\=(basicinfo.Fields.Item("Reference_no").Value)_1s.jpg")
je vergeet de string op te bouwen met het dynamische gedeelte.

dit zal beter werken denk ik:
code:
1
("c:\inetpub\wwwroot\win\images\thumbnails\" & basicinfo.Fields.Item("Reference_no").Value & "_1s.jpg")

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Nofi, maar misschien beter als je eerst een paar ASP-tutorials doorneemt... Want volgens mij heb je echt geen idee wat je aan het doen bent.... En op deze manier kom je zo weer in de problemen.

In ieder geval, je probleem ligt in het feit dat je niet weet hoe je een string aan elkaar moet koppelen.

code:
1
2
3
4
5
6
Dim _string
Dim _aanvulling
_aanvulling = "Kees"
Response.Write "Wie is de klos?" & _aanvulling
_string = "Wie is vandaag jarig? " & _aanvulling
Response.Write _string

Om je nog een hint te geven:
Dit werkt ook:
code:
1
2
3
4
5
6
7
Dim _bestandsnaam
_bestandsnaam = "c:\test.txt"
if fs.FileExists(_bestandsnaam) then
    Response.Write "Bestand bestaat"
Else
    Response.Write "Bestand bestaat niet"
End if

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

^^

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.