Avatar billede moejensen Nybegynder
11. april 2004 - 18:40 Der er 3 kommentarer og
1 løsning

problemer med variabler i forbindelse med if sætning

Jeg har nedenstående kode til at uploade en fil, problemet er at hvis filen er af en forkert type, så bliver intErrorCode sat til 20. Det virker også fint, men alligevel går den ind i følgende ifsætning, hvilket jeg ikke fatter:

If Not Upload.Files("file").IsMissing And intErrorCode = 0 Then

------------------ kode ----------------

intErrorCode = 0
    If bolWasPosted Then
        On Error Resume Next
        Set Upload = Server.CreateObject("AspSmartUpload.SmartUpload")
        MaxFileSize = 2048000 '2000Kb
        Upload.MaxFileSize = MaxFileSize
        Upload.AllowedFilesList = "doc,pdf,xls"
        Upload.Upload
        If Err <> 0 Then
            If Err = -2147220494 Then intErrorCode = 20
            If Err = -2147467259 Then intErrorCode = 21
            Err.Clear
        End If

        If Not Upload.Files("file").IsMissing And intErrorCode = 0 Then
            strFilename = strGenerator()
            strFilename = strFilename &"_"& Upload.Files("file").FileName
            strFilename = Replace(strFilename," ","_")
            Upload.Files("file").SaveAs Server.MapPath("/Files/" & strFilename)
            intFileSize = CInt(Upload.Files.TotalBytes/1024)
            Conn.Execute("INSERT INTO Files (Name,FileName,FolderId,FileSize) VALUES ('"& AccentReplacer(Upload.Form("Name")) &"', '"& strFilename &"', "& Upload.Form("Category") &", "& intFileSize &");")
        Else
            If intErrorCode = 0 Then intErrorCode = 40
        End If
Avatar billede moejensen Nybegynder
11. april 2004 - 18:41 #1
Jeg har prøvet at ændre til:

If Not Upload.Files("file").IsMissing And Cint(intErrorCode) = 0 Then

men det giver samme resultat.
Avatar billede repsak Nybegynder
11. april 2004 - 19:57 #2
jeg har ikke læst din kode nærmere, men et godt trick er altid at skrive Response.Write(xxx);
Avatar billede moejensen Nybegynder
11. april 2004 - 20:59 #3
det har jeg også allrede gjort, og hvis jeg sætter en response.write(intErrorCode) ind lige før og lige efter:

If Not Upload.Files("file").IsMissing And intErrorCode = 0 Then

så får jeg 20 ud begge steder :-(
Avatar billede moejensen Nybegynder
12. april 2004 - 09:58 #4
Så fik jeg den klaret. JEg delte den op i to således:

        If intErrorCode = 0 Then
            If Not Upload.Files("file").IsMissing Then
                strFilename = strGenerator()
                strFilename = strFilename &"_"& Upload.Files("file").FileName
                strFilename = Replace(strFilename," ","_")
                Upload.Files("file").SaveAs Server.MapPath("/Files/" & strFilename)
                intFileSize = CInt(Upload.Files.TotalBytes/1024)
                Conn.Execute("INSERT INTO Files (Name,FileName,FolderId,FileSize) VALUES ('"& AccentReplacer(Upload.Form("Name")) &"', '"& strFilename &"', "& Upload.Form("Category") &", "& intFileSize &");")
            Else
                If intErrorCode = 0 Then intErrorCode = 40
            End If
        End if
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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