30. oktober 2002 - 19:39Der er
8 kommentarer og 3 løsninger
Check om filen eksisterer
Hej
Jeg er intesseret i at få et script, som kan checke om stien, som er blevet indskrevet af brugeren i et tekstfelt (submit), henviser til en fil, som er uploadet ved hjælp af et andet script, som i denne sammenhæng er irrelevant. Hvis filer allerede eksisterer skal scriptet udskrive, at dette er tilfældet.
<% dim fs set fs=Server.CreateObject("Scripting.FileSystemObject") if fs.FileExists("c:\asp\introduction.asp")=true then response.write("File c:\asp\introduction.asp exists!") else response.write("File c:\asp\introduction.asp does not exist!") end if set fs=nothing %>
dim fs set fs=Server.CreateObject("Scripting.FileSystemObject") if fs.FileExists("c:\asp\"&URL&"")=true then response.write("File c:\asp\"&URL&"exists!") else response.write("File c:\asp\"&URL&" does not exist!") end if set fs=nothing %>
If FSO.FileExists(strNAVN2) Then ifFileExists = true else Response.Write "<script>alert('Stien til den indskrevne fil findes ikke.');</script>" Response.Write "<script>java script:history.back();</script>" ifFileExists = false end if
Du kan ikke udskrive direkte i en funktion. Du kan vælge at lade funktionen returnere true eller false afhængig af, om filen eksisterer. Eller du kan kan lade den returnere et stykke tekst.
If FSO.FileExists(strNAVN2) Then ifFileExists = ifFileExists & "Filen eksisterer!" else ifFileExists = ifFileExists & "<script>alert('Stien til den indskrevne fil findes ikke.');</script><a href='#' onClick='java script:history.go(-1);'>Tilbage</a>" end if
Hvis jeg submitter et link til en allerede eksisterende fil (Upload.Form("link12")) så finder ifFileExists rigtigt nok ud af, om filen eksisterer, men jeg derimod submitter et link til en fil, som ønskes uploadet (Upload.Form("link1")) er ifFileExists helt ukritisk, og opdager f.eks. ikke filen aldrig er blevet, og at filen derfor ikke findes. Hvorfor??
________________________________________
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
On Error Resume Next Count = Upload.Save(Server.MapPath(strImageDir))
For Each File in Upload.Files strNAVN = strImageDir & File.ExtractFileName Next
if not Upload.Form("link2") = "" then strNAVN = Upload.Form("link2") end if
if ifFileExists (strNAVN) then if not Upload.Form("link1") = "" then If Err.Number = 8 Then Response.Write "<script>alert('Billedet må ikke overstige en størrelse af 10 KB. En løsning herpå er at komprimere billedet eller at vælge et andet.')</script>" Response.Write "<script>java script:history.back();</script>" Else If Err <> 0 Then Response.Write "<script>alert('Der opstod en teknisk fejl: ' + Err.Description)</script>" Response.Write "<script>java script:history.back();</script>" Else If fileLengthCheck(strNAVN) then insertArticleInDatabase (strNAVN) Else fileDelete(strNAVN) Response.Write "<script>java script:history.back();</script>" End if End if End if else if not Upload.Form("link2") = "" then insertArticleInDatabase (strNAVN) end if End if end if
'sendBack("Der er ikke indtastet noget link - prøv igen.")
If FSO.FileExists(strNAVN2) Then ifFileExists = true else Response.Write "<script>alert('Stien til den indskrevne fil findes ikke.');</script>" Response.Write "<script>java script:history.back();</script>" ifFileExists = false end if
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.