08. juni 2002 - 00:12
Der er
13 kommentarer og
2 løsninger
Upload af billeder
Jeg har hentet et upload-script, der sådan set virker fint nok. Billederne bliver gemt i root. Jeg vil gerne have billederne gemt i en undermappe, f.eks. billeder/
Den fil, der skal rettes i, ser sådan ud:
<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest(RequestBin)
contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
'Response.Write (Request.ServerVariables("PATH_INFO"))
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(""&filename))
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close %>
<!--#include file="upload.asp"-->
Og forfatteren af scriptet skriver, at skal man have gemt billederne i en mappe, så skal man ændre linjen
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
til
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\sti\"))
Skal jeg så ikke ændre det til
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\billeder/\"))???
Problemet er bare, at det ikke virker... Jeg får følgende fejlbesked returneret:
Server.MapPath() error 'ASP 0172 : 80004005'
Invalid Path
/upload/outputfile.asp, line 17
The Path parameter for the MapPath method must be a virtual path. A physical path was used.
Linje 17 er:
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(""&filename))
Hvad gør jeg galt....? Er det stien, der er forkert? Jeg synes ellers, jeg har prøvet alt... Og ja - jeg har også husket at oprette mappen "billeder"....
Suk.. plese help. Projektet skal afleveres om knap 60 timer. ;o)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("\mappe\"&filename))
//>Rune
Hmm... virker stadig ikke. Får den samme fejlmeddelelse.
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(filename))
Virker dette?
//>Rune
Samme fejl?
Jeg tror ikke du har skriverettigheder på den mappe du prøver at oprette billeder i!
//>Rune
Hov, fejlmeddelelsen ved dit første forslag er ikke den samme, men:
Server.MapPath(), ASP 0173 (0x80004005)
An invalid character was specified in the Path parameter for the MapPath method.
/Skægagamer/Skaegagamer_NY/website/test/outputfile.asp, line 17
Der må være noget med de slahes/backslashes?
Ej for pokker da.. Jeg nosser totalt i det. Det er ved at være lidt sent... :o)
Forfatteren skriver, at man skal ændre denne linje
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,""))
til:
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\sti\"))
(havde glemt de skrå streger, sorry...)
Kan det have noget med det at gøre, at jeg får fejl et par linjer længere nede? Så skal min linje måske ikke hedde
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"billeder/"))
alligevel? Men:
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\billeder/\"))???
Synes bare, jeg har prøvet...
Så prøv lige med denne!
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("mappe\"&filename))
men prøv oxo lige at opret et nyt dokument og læg det i samme mappe som scriptet du kører og skriv:
Response.Write(Server.MapPath("fil.asp"))
og skriv lgie her på eksperten hvad du har fået som resultat!
//>Rune
08. juni 2002 - 00:37
#10
Hm, hvis jeg retter Set MyFile-linjen igen, er resultatet:
Server.MapPath(), ASP 0173 (0x80004005)
An invalid character was specified in the Path parameter for the MapPath method.
/Skægagamer/Skaegagamer_NY/website/test/outputfile.asp, line 17
Og mht. til at oprette et nyt dokument, så er jeg lidt ristet og fatter ikke, hvad du mener? Altså hvad skal det nye dokument hedde? Og hvad skal jeg skrive i stedet for "fil.asp"?
Argh, takker for din tålmodighed med sådan en tumpe som mig! ;o)
08. juni 2002 - 00:41
#11
:-) Okay..
Well, har du ik' ICQ eller Messenger? -Det er lidt nemmere at forklare over der!
//>Rune
08. juni 2002 - 00:42
#12
MSN: vuliver@hotmail.com
08. juni 2002 - 00:57
#13
Hm, ser ud til, du ikke kan se, hvad jeg skriver på MSN. Fang mig på ICQ: 78104448
08. juni 2002 - 06:04
#14
Det er den linie som hedder MyFile du skal rette i..
Den kan f.eks se således ud..
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("billeder/"&filename))
Bruger selv det script.. Det virker fint hos mig..
Jens K
08. juni 2002 - 10:02
#15
Mange tusind tak, Jens K. Nu virker det. :o)
I får alligevel pointene begge to, Jens K fordi hans svar fik det vil at virke, og Rune fordi han prøvede så hårdt.
Kurser inden for grundlæggende programmering