Upload..
Hvad gårder galt?-----------------
upload.asp :
<%response.buffer=true%>
<!--#include FILE=\"uploadit.asp\"-->
<html>
<head>
<meta NAME=\"GENERATOR\" Content=\"Microsoft FrontPage 4.0\">
<title></title>
</head>
<body>
<%
function rf(stuff)
rf=Request.Form(stuff)
end function
if request(\"upit\")=\"Yes\" then
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
\'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
\'Response.BinaryWrite(Request.BinaryRead(varByteCount))
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,\"\\\"))
where=UploadRequest.Item(\"where\").Item(\"Value\")
value = UploadRequest.Item(\"blob\").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
\'CHANGE THE DRIVE LETTER AND LOCATION. Should be root web folder.
dfile=exact_loaction&where&\"\\\"&filename
response.write dfile
Set MyFile = ScriptObject.CreateTextFile(dfile)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
%>
<b>
<p align=\"center\"><br>
Uploaded file : </b><%=filename%> to /<%=where%><br>
<%
else
%></p>
<form METHOD=\"Post\" ENCTYPE=\"multipart/form-data\" ACTION=\"upload.asp?upit=Yes\" id=\"form1\"
name=\"form1\">
<table bgcolor=\"#000000\" border=\"0\" width=\"200\" align=\"center\">
<tr>
<td><table CELLSPACING=\"0\" CELLPADDING=\"0\" BORDER=\"0\">
<tr>
<td valign=\"middle\" align=\"center\" bgcolor=\"#EEEEEE\"></td>
</tr>
<tr>
<td align=\"center\" bgcolor=\"#FFFFFF\">Please choose a file to upload: <br>
<input TYPE=\"file\" NAME=\"blob\"><hr>
<p><u>Upload to?</u><br>
<input type=\"radio\" name=\"where\" value=\"C:\\Windows\\Skrivebord\\\" checked><b>/Demo-Test <br>
<br>
<input style=\"(width:90%}\" TYPE=\"submit\" NAME=\"Upload\" Value=\"Upload\"> </b></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<%
end if
%>
<p align=\"center\"> </p>
</body>
</html>
uploadit.asp :
<%
Sub BuildUploadRequest(RequestBin)
\'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
\'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)
Loop
End Sub
\'String to byte string conversion
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function
\'Byte string to string conversion
Function getString(StringBin)
getString =\"\"
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function
%>