HEj! Det som står mellan när jag debuggade proggrammet visade pathfind värdet 36. SÄger mig inte mycket Har nu testat lite... :-) Japp det gör jag.... Testa med:Hmm.. var finns mål mappen
Jag viil kunna ladda upp filer till min server... detta har jag löst med hjälp av ett färdig funktion gjord här på pellesoft. Mitt problem är att jag vill kunna styra var filerna skall hamna...
jag tror att lösningen finns i nedan exempel
<code>
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="laddaupp.asp"-->
<%
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")
'Skapar FSO Objectet
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
'Skapar och skriver till filen
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = FSO.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
'Stänger våra object
MyFile.Close
'FSO.Close
'Visar filens namn
response.write "Upp laddad fil : " & filename %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
</body>
</html>
</code>
jag tror också att lösningen ligger här
<code>
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = FSO.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
</code>
Som det är nu så hamnar filerna direkt i root på serven(mitt Webhotell. Dvs i på samma ställes som upload filer finns. Jag vill att det skal läggas i "/files" i stället
är det någons som har lust att förklara för mig...vad som vad ovanstående rad betyder och peka ut var jag skall ändra för att buta målmapp.
/PhinalaSv: Hmm.. var finns mål mappen
Set MyFile = FSO.CreateTextFile(
och nästa komma-tecken är var filen kommer att hamnaSv: Hmm.. var finns mål mappen
du menar
Server.mappath(Request.ServerVariables("PATH_INFO")), är det bara att byta ut den mot /files ???
/PhinalaSv: Hmm.. var finns mål mappen
ex:
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Set MyFile = FSO.CreateTextFile(Left(Server.mappath("Filer/"),pathEnd)&filename)
Men inte fungerar det... Hur jag än vrider och vänder hamnar filen i Root..
Vad innebär PathEnd. Den verkar bar innehålla ett värde. Tar jag bort left(),pathend, så får jag ett felmeddelande...
Finns det fler tips!
/phinalaSv: Hmm.. var finns mål mappen
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
Om du läser vad det står här så lagras alltså längden på PATH_INFO - 14 tecken i en variable pathEnd
Ex: D:\inetpub\wwwroot\hejhade gett pathEnd = 9 tror jag om jag räknade rätt.
Använder du sedan en Left(sträng, antal tecken) så hade du t ex fått
str = 0123456789
str = left(str, 4)
str ger då 0123... hänger du med Sv: Hmm.. var finns mål mappen
Left mm har jag jobbat med... men jag fattade inte delen med
Server.mappath(Request.ServerVariables("PATH_INFO")))
den förvirrade mig....
/PhinalaSv: Hmm.. var finns mål mappen
<code>
Set MyFile = FSO.CreateTextFile(Server.mappath("/Filer/") & filename)
</code>