Avatar billede lightbrain Nybegynder
02. november 2002 - 08:54 Der er 2 kommentarer og
1 løsning

FileExists - ASPupload

Hej

Hvis jeg submitter et link - Upload.Form("link2") - med en allerede eksisterende fil så finder "ifFileExists" rigtigt nok ud af, om filen eksisterer, men hvis jeg derimod submitter et link - Upload.Form("link1") - til en fil, som ikke er blevet uploadet er "ifFileExists" helt ukritisk, og opdager f.eks. ikke, hvis filen pga. fejl aldrig er blevet, og at filen derfor ikke findes. Hvorfor??

________________________________________

if Request.ServerVariables("REQUEST_METHOD") = "POST" then

    Set Upload = Server.CreateObject("Persits.Upload.1")
    strImageDir="/grafik/artikler/"
    Upload.SetMaxSize 10000, True
    Upload.OverwriteFiles = false

    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.")

end if
   
Function ifFileExists (strNAVN)

    Set FSO = CreateObject("Scripting.FileSystemObject")
    strNAVN2 = Server.MapPath(strNAVN)
    Response.Write "<script>alert('"& strNAVN2 & "');</script>"
   
    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
   
end function
Avatar billede lightbrain Nybegynder
02. november 2002 - 08:56 #1
Det var da utroligt alt det vrøvl, jeg lige fik fyret af.

...til en fil, som LIGE er blevet uploadet, er "ifFileExists" helt ukritisk, og opdager f.eks. ikke, hvis filen pga. fejl aldrig er blevet UPLOADET, og at filen derfor ikke findes. Hvorfor??
Avatar billede lightbrain Nybegynder
02. november 2002 - 10:08 #2
Men hvis jeg udskriver "strNAVN2", får jeg også en mærkelig sti f.eks.: "d:minhjemmesidewwwrootartikelbillede.jpg"
Avatar billede lightbrain Nybegynder
02. november 2002 - 11:01 #3
Nu har jeg selv fundet problemet - det er fordi man ikke kan aflæse værdien af det felt, hvor man indskriver den fil, som man ønsker uploadet.
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