Avatar billede fun22 Nybegynder
02. februar 2006 - 12:21 Der er 9 kommentarer og
1 løsning

Subscript out of range

Hej..

Jeg har en kode her som skulle uploade en fil til serveren, men den kommer med denne fejl: Suscript out of range.

<%
               
           
              On Error Resume Next
           
            '  Variables
            '  *********
              Dim mySmartUpload
              Dim intCount
              Dim file
               
            '  Object creation
            '  ***************
              Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
             
            '  Only allow txt or htm files
            '  ***************************
              mySmartUpload.AllowedFilesList = "gif,jpg,jpeg,doc,txt"
           
            '  DeniedFilesList can also be used :
              ' Allow all files except exe, bat and asp
              ' ***************************************
              ' mySmartUpload.DeniedFilesList = "exe,bat,asp"
           
            '  Deny physical path
            '  *******************
              mySmartUpload.DenyPhysicalPath = True
           
            '  Only allow files smaller than 50000 bytes
            '  *****************************************
              mySmartUpload.MaxFileSize = 300000
           
            '  Deny upload if the total fila size is greater than 200000 bytes
            '  ***************************************************************
              mySmartUpload.TotalMaxFileSize = 300000
           
            '  Upload
            '  ******
                   
              mySmartUpload.Upload
             
              navn = mySmartUpload.form("navn")
              email = mySmartUpload.form("email")
              msg = mySmartUpload.form("msg")
             
              For each file In mySmartUpload.Files
              If not file.IsMissing Then
                   
              file.SaveAs("mailfiles/"&file.FileName)
              intcount = intcount + 1
              End If
              Next
           
            '  Save the files with their original names in a virtual path of the web server
            '  ****************************************************************************
             
           
            '  Trap errors
            '  ***********
              If Err Then
                    Response.write navn
                    Response.write email
                    Response.write msg
                    Response.write file
                  Response.Write("<b>Wrong selection : </b>" & Err.description)
              Else
              '  Display the number of files uploaded
              '  ************************************
                  set msg = Server.CreateOBject( "JMail.Message" )
                msg.ContentType = "text/html"
                msg.Logging = true
                msg.silent = true
               
                msg.From = email
                msg.FromName = navn
               
                msg.AddRecipient "jtp@jtponline.dk"
               
                msg.Subject = "E-mail fra ASP Developer"
               
                msg.body msg
               
                msg.AddAttachment("mailfiles/"&file.FileName)
               
                if not msg.Send(smtp) then
                    Response.write "<pre>" & msg.log & "</pre>"
                else
                    response.write "<center>Din besked er nu blevet sendt. Jeg vil svare tilbage så hurtigt som muligt. <p>Tak for henvendelsen.</p></center>"
                end if
              End If

            %>

Jeg aner ikke hvor henne i koden det kommer..
Avatar billede cpufan Juniormester
02. februar 2006 - 18:29 #1
der er vel et linienr. den referer til,
har du en includefil også?
Avatar billede fun22 Nybegynder
03. februar 2006 - 08:55 #2
Nej der er ikke nogen include... Det er i denne linie: mySmartUpload.Upload
Avatar billede softspot Forsker
03. februar 2006 - 16:33 #3
Hvor stor er den fil du forsøger at uploade? Det kan være du lige skal prøve at udkommentere begrænsningen i størrelsen i første omgang og se om det hjælper. Hvis det gør, så skal du nok have lavet noget fejlhåndtering omkring din kode, for der er nogen uploadkomponenter der rent faktisk "smider" en fejl hvis man uploader for store filer - den skal håndteres med on error... ellers fejler siden på den ufede måde.
Avatar billede fun22 Nybegynder
07. februar 2006 - 09:02 #4
den er 4 kb så det burde ikke være noget problem eftersom MaxFileSize = 300000
Avatar billede cpufan Juniormester
07. februar 2006 - 09:43 #5
subscript out of range,
er normalt ved løkker eller arrays,

da du umiddelbart ikke har nogen i den kode vi kan se,
har du enten noget mere kode, eller også er upload-komponenten der brokker sig,
hvilket det godt kan tyde på da det er den linie den referer til.

så det kan tyde på at siden ikke har forbindelse til den uploadede fil, eller at den er af forkert type.

men jeg er ret sikker på at upload-komponentens manual kan gøre os klogere, så der vil jeg lige kigge...
Avatar billede cpufan Juniormester
07. februar 2006 - 09:46 #6
11) PRB: aspSmartUpload error '800a0009' Subscript out of range

This error occurs when the asp is directly executed instead of being called from an HTML form with an ENCTYPE="multipart/form-data" tag.

det vil sige der hvor du vil uploade din fil skal du have en form, med ovenstående enctype, den skal så have action til den næste side, som er den du får fejl på nu.

du skal altså have 2 sider, en med formen og en med komponenten
Avatar billede softspot Forsker
07. februar 2006 - 09:51 #7
...og det behøves altså ikke ligge i to fysiske filer, det kan sagtens ligge i den samme asp-fil.

Det der bare er vigtigt er at din form har den korrekte enctype.
Avatar billede cpufan Juniormester
07. februar 2006 - 09:54 #8
ja og selvf. at aspsmartupload ikke bliver aktiveret før formen er sendt :)
Avatar billede fun22 Nybegynder
07. februar 2006 - 11:59 #9
Det var lige det der skulle til ;) Smider du lige et svar cpufan?
Avatar billede fun22 Nybegynder
24. maj 2006 - 17:00 #10
lukker..
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