Avatar billede nidyahou Praktikant
11. januar 2004 - 16:48 Der er 28 kommentarer og
1 løsning

check om billedet eksisterer

hej, er der et script hvormed man kan tjekke om et billede eksisterer, hvis ja hvordan er det så... ligemeget hvilket sprog det er, regner bare med det er asp.
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:15 #1
Det kræver at du har adgang til FileSystemObject:

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

If (objFSO.FileExists(Server.MapPath("filnavn.jpg")) = True  Then
  ' billedet eksisterer
Else
  ' billedet eksisterer IKKE!
End If

Set objFSO = Nothing
%>
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:21 #2
hvor har ejg fx. adgang til filesystem object?
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:26 #3
Dit webhotel bestemmer om du skal ha' adgang til FSO. Da FSO udgør en sikkerhedsrisiko for et webhotel, er det tit slå fra, dvs ingen/begrænset adgang..
Hvis det er på din egen computer, har du adgang til FSO.. med mindre at der er et eller andet galt, eller at der er restriktioner via Windows 2000/XP..
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:28 #4
her er en test.. kopier alt koden under "Denne kode er brugt:" og put det i en asp fil.. se filen via din browser.. hvad skriver den til dig?

url: http://www.frip.dk/thesurfer/test.asp
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:31 #5
har frip adgang til fso ?
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:31 #6
thesurfer på din side står der øverst:
Scripting.FileSystemObject not full supported.
Creating of files not supported...
Deleting and Modifying of files not supported...
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:34 #7
Nej, frip har ikke adgang til FSO.. du kan se at min side siger:
Scripting.FileSystemObject not full supported.
Creating of files not supported...
Deleting and Modifying of files not supported...

Du skal gemme koden på din server.. ikke kigge på min side :)
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:39 #8
jamen den loader aldrig
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:44 #9
hvad mener du?
Har du kopieret koden fra min test side, puttet det i en asp fil, og oploadet den til din server?
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:45 #10
Når man skal mixe JavaScript og ASP kode, skal man nogle gange bare være lidt kreativ.. :)
Man kan nemlig ikke share/dele variabler mellem de 2 sprog..
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:45 #11
Forkert vindue :)
Glem mit sidste indlæg :)
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:46 #12
jeg har min egen computer som server...
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:48 #13
ahh.. der mangler en ")":

If (objFSO.FileExists(Server.MapPath("filnavn.jpg")))

Den skal slutte med 3x ")"..
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:48 #14
men har du et eksempel på et sted der understøtter fso, uden at man skal betale :D ?
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:52 #15
Man kunne engang oprette en gratis konto hos www.brinkster.com .. eller noget i den stil.. kan ikke huske urlen..
Men på sitet har de det der sikkerhedsproblem.. dvs man kunne se alle de andres filer, og downloade dem.. man kan vist også slette dem..
Man kan jo få en del File Manager scripts på nettet..

Så, sitet jeg taler om, kan ikke anbefales!
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:52 #16
har denne kode
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Function Exist(fil)
If (fs.FileExists(Server.MapPath(fil)))=true Then
      Response.Write("<img src=""" & fil & """>")
Else
      Response.Write("")
End If
end function

pic = 0
Do while pic => 0 and pic < 1000
Exist("http://hhsrv.n.dk/chat/gfx/actors/white/boy/clothes/" & pic & ".gif")
pic = pic + 1
Loop
set fs=nothing
%>
men siden kan ikke hentes
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:52 #17
Du har fuld FSO på din computer.. Hvilken Windows kører du med?
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:54 #18
XP
Avatar billede nidyahou Praktikant
11. januar 2004 - 17:55 #19
XP pro
Avatar billede thesurfer Nybegynder
11. januar 2004 - 17:58 #20
ahhh... du kan ikke gøre sådan der :)
Med FSO kan du kun checke om billedet eksisterer den samme server som asp filen er..
Til det der, skal du bruge XMLHTTP.. finder lige noget kode til dig..
Avatar billede nidyahou Praktikant
11. januar 2004 - 18:00 #21
åh, du er min helt :D
Avatar billede nidyahou Praktikant
11. januar 2004 - 18:01 #22
der går nok lidt tid før jeg melder tilbage da jeg skal indtage et solidt måltid mad med resten af min kære familie :D
Avatar billede thesurfer Nybegynder
11. januar 2004 - 18:09 #23
Al min FSO kode skal slettes.

<%

' Disse 2 linier må IKKE stå i loopen!:
dim objXMLHTTP, url
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")

' ... din kode her med oprettelse af database forbindelse osv.. indtil:

pic = 0
Do while pic => 0 and pic < 1000

url = "http://hhsrv.n.dk/chat/gfx/actors/white/boy/clothes/" & pic & ".gif"

objXMLHTTP.Open "GET", url, false 
On Error Resume Next
objXMLHTTP.Send

  Select Case objXMLHTTP.Status

      Case 200 'Billedet er fundet!
        "<img src=""" & url & """>"

      Case 404 'Billedet er IKKE fundet!
        Response.Write url & " could not be found (404 Error)"

      Case Else 'Der opstod en fejl!
        Response.Write "Der opstod en fejl: " & objXMLHTTP.Status

  End Select


pic = pic + 1
Loop

' resten af koden her...


Set objXMLHTTP = Nothing
%>
Avatar billede thesurfer Nybegynder
11. januar 2004 - 18:12 #24
men.. jeg ved ikke om det er en god ide.. Det tager lidt tid at finde ud af, om billedet eksisterer.. jeg ved ikke lige hvor hurigt den prøver på at gå videre, og udfører koden igen..
Du vil sikkert få en eller anden fejl om at den er ibrug eller noget i den stil.. hvis du får den fejl, er det nok fordi den er ved at check en forespørgsel, og får at vide (af loopen) at den skal check en anden forespørgsel..

men hvis du får fejl, skriv:
- fejlmeddelelsen (kopier den og sætte den ind her)
- linie og linie nummer
Avatar billede nidyahou Praktikant
11. januar 2004 - 18:37 #25
får fejl i din kode, fejlen:
Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/asp/TMP80uurc6af.asp, line 25
"<img src=""" & url & """>"
Avatar billede thesurfer Nybegynder
11. januar 2004 - 19:22 #26
doh! der skulle stå:
response.write "<img src=""" & url & """>"
Avatar billede nidyahou Praktikant
11. januar 2004 - 21:05 #27
du får 60 meget velfortjente point, drop et svar :D
Avatar billede thesurfer Nybegynder
11. januar 2004 - 22:58 #28
Et svar er droppet :)
Avatar billede thesurfer Nybegynder
11. januar 2004 - 23:58 #29
Takker for points :)
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