Hello igen.
hittade ju ett litet script som du kan använda.
Det är Phillipe Collignon's upload script. Med hjälp av det så får man fram hela sökvägen till filen som ligger på klienten.
Om du senare vill använda detta för att även ladda upp filer så går det oxå bra.
Det är bara att avkommatera de raderna som skapar och skriver data till en fil på servern.
OK, slutsnackat om det här kommer koden:
<%
Option Explicit
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
Dim byteCount, pathEnd, i, intFile, intF
Dim RequestBin, Value
Dim UploadRequest, ScriptObject, MyFile, objItem
Dim filename, contentType, filepathname
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
'## -- loop this section as many times that you have files --
contentType = UploadRequest.Item("txt_File" & intFile).Item("ContentType")
filepathname = UploadRequest.Item("txt_File" & intFile).Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
'## -- to save the file to the server uncomment lines below --
'-------------------------------------------------------------
'value = UploadRequest.Item("txt_File" & intFile).Item("Value")
'## -- Create FileSytemObject Component
'Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'## -- Create and Write to a File --
'pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
'## -- upload the file to server --
'Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/upload/"&filename))
'response.write Server.mappath(filename) & "<BR>"
'For i = 1 to LenB(value)
' MyFile.Write chr(AscB(MidB(value,i,1)))
'Next
'MyFile.Close
'## -- stop uncomment lines here --
'----------------------------------
%>
<HTML>
<HEAD>
<TITLE>Show Image</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY bgcolor="#FFFFFF" text="#000000">
<IMG src="<% =filepathname%>"><BR>
<small><% =filename%></small>
</BODY>
</HTML>
<%
'## -- String to byte string conversion --
' Author Philippe Collignon
' Email PhCollignon@email.com
'-----------------------------------------------------------
'## -- updated by Patrik Berggren for multiple fileupload --
'-----------------------------------------------------------
Sub BuildUploadRequest(RequestBin)
Dim PosBeg, PosEnd, boundaryPos, Pos
Dim boundary, PosFile, PosBound
Dim Name
'## -- Get the boundary --
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
'## -- Get all data inside the boundaries --
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
'## -- Members variable of objects are put in a dictionary object --
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
'## -- Get an object name --
Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
'## -- Test if object is of file type --
If PosFile <> 0 AND (PosFile < PosBound) Then
'intF = intF + 1
'## -- Get Filename, content-type and content of file --
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
'## -- Add filename to dictionary object --
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
'## -- Add content-type to dictionary object --
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
'## -- Get content of object --
PosBeg = PosEnd + 4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
'## -- Get content of object
Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
PosBeg = Pos+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
End If
'## -- Add content to dictionary object --
UploadControl.Add "Value" , Value
'## -- Add dictionary object to main dictionary --
UploadRequest.Add name, UploadControl
'## -- Loop to next object --
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
Set UploadControl = Nothing
Loop
End Sub
'## -- String to byte string conversion --
Function getByteString(StringStr)
Dim i
Dim char
Dim binString
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
binString = binString & chrB(AscB(char))
Next
getByteString = binString
End Function
'## -- Byte string to string conversion --
Function getString(StringBin)
Dim strString
Dim intCount
strString =""
For intCount = 1 to LenB(StringBin)
strString = strString & chr(AscB(MidB(StringBin,intCount,1)))
Next
getString = strString
End Function%>
kanske lite mycket overkill för att få fram sökvägen till filen, men, men ... kan inget annat *ler*
cya,
PatrikB
------------------
*ordning och reda!, pengar på fredag.*