26. marts 2009 - 11:17Der er
8 kommentarer og 1 løsning
Problem med at hente filnavnet ved upload
Hej jeg har et problem.
Jeg har pga. host skift måtte skrive vores Upload script om til at benytte Persist Upload, men i den forbindelse har jeg fået et problem med at få fat i filnavnet på den ønskede fil.
Al koden virker hvis jeg selv angiver dens fil navn manuelt så nu handler det bare om at lave en streng som indeholder dens filnavn + extension. F.eks. "test.jpg"
Det jeg har forsøgt at gøre er at lave en test som bare printer filnavnet ud.
!-- #include file="Includes/conn_open.asp" --> <% Dim blnError,sizeLimit,txtSV Dim intCount Dim upl Dim File
Men jeg får følgende fejl Microsoft VBScript runtime error '800a01a8' Object required /logo_uploadfile.asp, line 13
Hvilket jeg kunne forestille mig havde noget at gøre med at det File objekt jeg laver ikke bliver oprettet rigtig? Har også prøvet med andre attributter som File.Filename men med samme fejl.
' Intercept all exceptions to display user-friendly error On Error Resume Next
Count = Upload.Save(filepath) ' 8 is the number of "File too large" exception
If Err.Number = 8 Then Response.Write "Your file is too large. Please try again." Else If Err <> 0 Then Response.Write "An error occurred: " & Err.Description Else Response.Write "Success!" End If End If
Hmm jeg har prøvet med samme metode som dig at ændre linje 12 og 13 således at jeg får:
For Each File in upl.Files Response.Write(File.Name & "=" & File.Path & " (" & File.Size & ")<br>") Next
Problemet er bare at den ikke skriver nogle filer ud, så det må jo tyde på at der er et problem med de tilhørende filer til det komponent. Kan bare ikke gennemskue hvad den fejl er.
I den side som kalder min logo_upload.asp har jeg ellers angivet: <FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="logo_uploadfile.asp">
Hvis det er hele koden du har vist så mangler der en linje kode som gør filerne bliver uploaded.
Du skal kalde "Save" funktionen men en sti hvor filerne skal gemmens på din server.
Din kodoe: Set upl = Server.CreateObject("Persits.Upload") SET File = upl.Files("FILE1") Response.Write "Filnavnet: " & File.name
Skal rette lidt til: Set upl = Server.CreateObject("Persits.Upload") count = upl.Save(server.mapptath(".")) SET File = upl.Files("FILE1") Response.Write "Filnavnet: " & File.name
Jeg har upl.Save med i min kode den står bare længere ned.
Men kan godt se i alle sammen gør det samme som jeg gør, hvilket jeg også ville mene burde virke. Så må vist prøve at lave nogle tomme eksempler at teste på.
Så fik jeg tid til at kode videre. Og ganske rigtig det virkede perfekt når jeg fik flyttet File objektet under save.
Jeg siger mange tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.