Avatar billede kovalt Nybegynder
09. april 2004 - 10:29 Der er 23 kommentarer og
1 løsning

catch error i ASPSmartUpload

Hej

  Nogen der kan sige mig hvorfor dette ikke virker. Hvis koden eksekveres som den står nu skriver den "der opstod en fejl" ved alle fejl. Hvis jeg eks. i stedet skriver CInt ved alle err.numbers skriver den hele tiden den første fejl.

    on error resume next

    Set Upload = Server.CreateObject("aspsmartupload.smartupload")

    Upload.AllowedFilesList = "jpg,JPG"
    Upload.MaxFileSize = 300000
    Upload.DenyPhysicalPath = True
    Upload.upload

    upload.files.item(1).saveas "../images/upload/omharte.jpg"

    if Err <> 0 then
        if Err.Number = "1205" then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Filen er større end de tilladte 300 KB</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        elseif Err.Number = "1105" then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Den valgte fil er ikke af typen .jpg</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        else
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        end if
    end if

Nogen gode idéer? Jeg har fundet dette indlæg http://www.eksperten.dk/spm/329019 men der synes heller ikke at blive fundet nogen løsning. Jeg ville meget gerne løse dette problem i ASPSmartUpload, idet jeg ikke lige føler for at betale for ASPUpload, hvor det virker fint?

Kovalt
Avatar billede keysersoze Ekspert
09. april 2004 - 10:43 #1
hvis du fjerner din on error resume next så kan det være vi får en fejl-besked vi reelt kan bruge til noget
Avatar billede kovalt Nybegynder
09. april 2004 - 11:29 #2
jeg har udkommenteret on eorror resume next

hvis jeg uploader en fil i det rigtige format der er for stor får jeg en fejl 1105, hvilket er korrekt i følge aspsmart.com dokumentation.

Size exceeded for this file : 'Z:\ftproot\billeder\SUSANNE2.JPG' (Error 1105)

/admin/omharte/uploadpic.asp, line 14

fil i tilladt størrelse men forkert format giver fejl 1010 hvilket også er rigtigt..

The file : 'Z:\ftproot\billeder\ANETTE_OG_TORBEN.BMP' is not allowed to be uploaded (Error 1010)

/admin/omharte/uploadpic.asp, line 14


Problemet er at jeg ikke kan fange dem og få printet en mere brugervenlig fejlbeskrivelse
Avatar billede keysersoze Ekspert
09. april 2004 - 11:38 #3
fjern " omkring tallene
Avatar billede kovalt Nybegynder
09. april 2004 - 12:01 #4
'on error resume next

    Set Upload = Server.CreateObject("aspsmartupload.smartupload")

    Upload.AllowedFilesList = "jpg,JPG"
    Upload.MaxFileSize = 300000
    Upload.DenyPhysicalPath = True
    Upload.upload

    upload.files.item(1).saveas "../images/upload/omharte.jpg"

    if Err <> 0 then
        if Err = 1105 then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Filen er større end de tilladte 300 KB</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        elseif Err = 1015 then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Den valgte fil er ikke af typen .jpg</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        else
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        end if
    end if

giver det samme
Avatar billede keysersoze Ekspert
09. april 2004 - 12:25 #5
if Err.Number = 1105 then

elseif Err.Number = 1015 then
Avatar billede kovalt Nybegynder
10. april 2004 - 00:12 #6
mit script ser nu sådan her ud - men virker stadig ikke....

    Set Upload = Server.CreateObject("aspsmartupload.smartupload")

    Upload.AllowedFilesList = "jpg,JPG"
    Upload.MaxFileSize = 300000
    Upload.DenyPhysicalPath = True
    Upload.upload

    upload.files.item(1).saveas "../images/upload/omharte.jpg"

    if Err.number <> 0 then
        if Err.number = 1105 then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Filen er større end de tilladte 300 KB</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        elseif Err.number = 1015 then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Den valgte fil er ikke af typen .jpg</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        else
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        end if
    else
        response.write "<tr><td colspan='2'><font color='#FF0000'>Billedet er nu uploadet</td></tr>"       
    end if
Avatar billede keysersoze Ekspert
10. april 2004 - 09:51 #7
du fortæller ikke hvad den gør nu - men din første if-statement skal stadig hedde

if Err <> 0 then
Avatar billede kovalt Nybegynder
10. april 2004 - 16:34 #8
Den gør det samme som hele tiden.... udskriver den rigtige fejl. 1010 ved forkert format og 1105. Problemet er at fejlen i de to tilfælde ikke bliver fanget i if-sætningerne.

Det virker fint, hvis filen jeg forsøger at upload opfylder kriterierne men i det øjeblik dette ikke er tilfældet udskriver scriptet eksempelvis:

Der opstod en fejl: Invalid Files Name '1' (Error 1205)

/Kovalt
Avatar billede keysersoze Ekspert
10. april 2004 - 16:49 #9
men - hvis du får fejl 1205 som du jo ikke tager højde for så er det vel klart at den udskriver "Der opstod en fejl: Invalid Files Name '1' (Error 1205)"?

Hvis du så er 100% sikker på at du uploader en fil på over 300kb så må du jo prøve at lave en

response.write Err & "<br>"
response.write Err.Number & "<br>"

og så arbejde videre med præcis hvad der kan fange de enkelte fejl... altså om der skal noget int, cint, clng eller andet til - det plejer bare ikke at være et problem.
Avatar billede kovalt Nybegynder
10. april 2004 - 17:20 #10
jeg prøver nu at upload et fil, der er 447 KB stor og af typen BMP.

Hvis jeg slår on error resume next fra skriver den følgenden fejl:

aspSmartUpload.File error '800403f2'
The file : 'Z:\ftproot\billeder\FAROGMOR.BMP' is not allowed to be uploaded (Error 1010)

/admin/omharte/uploadpic.asp, line 14

Hvis jeg slår den til skriver den følgede:

Der opstod en fejl: Invalid Files Name '1' (Error 1205)

.... er det ikke lidt underligt.... burde det ikke være samme fejlkode.

1010 = hører til under SMARTUPLOAD Object og betyder: The extension of the file is not allowed to be uploaded.

1205 = hører til FILES Collections og betyder: Files' name is invalid or does not exist.
Avatar billede keysersoze Ekspert
10. april 2004 - 17:27 #11
nej - ikke umiddelbart underligt for idet du ikke kan uploade bmp-filer vil upload.files.item(1) være tom. Og når den er tom så vil du få fejl 1205. Forsøgte du derimod at fange fejlen FØR din saveas linie ville du formentlig få fejl 1010 (eller 1015 hvad den så end hedder)
Avatar billede kovalt Nybegynder
10. april 2004 - 17:29 #12
er det en bedre ide at fange fejlen inden saveas?
Avatar billede kovalt Nybegynder
10. april 2004 - 17:35 #13
ved at flytte lidt rundt på det får jeg nu, som du siger, samme fejl. Men det kniber stadig med at fange dem....
Avatar billede kovalt Nybegynder
10. april 2004 - 17:36 #14
nu har jeg så det her:

    on error resume next

    Set Upload = Server.CreateObject("aspsmartupload.smartupload")

    Upload.AllowedFilesList = "jpg,JPG"
    Upload.MaxFileSize = 300000
    Upload.DenyPhysicalPath = True
    Upload.upload

    if Err <> 0 then
        if CInt(Err.number) = 1105 then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Filen er større end de tilladte 300 KB</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        elseif CInt(Err.number) = 1010 then
            response.write "<tr><td colspan='2'><font color='#FF0000'>Den valgte fil er ikke af typen .jpg</td></tr>"
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        else
            response.write "<tr><td colspan='2'><font color='#FF0000'>Der opstod en fejl: " & Err.Description &"</td></tr>"
        end if
    else
        response.write "<tr><td colspan='2'><font color='#FF0000'>Billedet er nu uploadet</td></tr>"       
        upload.files.item(1).saveas "../images/upload/omharte.jpg"
    end if

set Upload = Nothing

Hver gang jeg laver en fejl udskriver den "Filen er større end de tilladte 300 KB" - også selvom den er OK i størrelse men forkert format
Avatar billede keysersoze Ekspert
10. april 2004 - 17:40 #15
if Err.number = 1105 then

prøv også at udskrive err.number for din if-sætning
Avatar billede kovalt Nybegynder
10. april 2004 - 17:44 #16
det giver noget underligt:

Her: -2147220399
Avatar billede kovalt Nybegynder
10. april 2004 - 17:45 #17
så virker det
Avatar billede kovalt Nybegynder
10. april 2004 - 17:46 #18
hvis du nu lige får et par ekstra points er du så frisk på et aspSmartMail-spm?
Avatar billede keysersoze Ekspert
10. april 2004 - 17:48 #19
Kender intet til det komponent - men det er vel som de fleste andre
Avatar billede kovalt Nybegynder
10. april 2004 - 17:53 #20
Den minder meget om de andre mail-komponenter. I følge dokumentationen skal man angive mail server sådan her:

mailer.Server = "mail.yourdomain.com"

hvilket jeg har gjort...

Når jeg kører linien

mailer.sendMail får jeg en fejl omkring at den ikke kan finde SMTP-serveren. Hvorfor det?
Avatar billede keysersoze Ekspert
10. april 2004 - 17:57 #21
vel fordi du ikke har indtastet den korrekt smtp-adresse?
Avatar billede kovalt Nybegynder
10. april 2004 - 18:12 #22
der var åbenbart en periodisk fejl på serveren..... det virker nu
Avatar billede keysersoze Ekspert
17. april 2004 - 17:54 #23
hvad gjorde du så med aspsmartupload'en? brugte du -2147220399 i stedet for?
Avatar billede kovalt Nybegynder
17. april 2004 - 19:03 #24
ja
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