Udvidelse af upload-script
Hej derude!Har mit upload-script heruder. Det virker perfekt!!! Nu vil jeg bare gerne udvide det, så man kun kan uploade filer med en maxstørrelse på 100kb (og gerne også så det kun kan være billed-filer). Her går jeg så i stå..... Er der nogen der kan hjælpe mig med at lave de tilføjelser??!
På forhånd MANGE TAK!!! :P
Niels
Her er mit uploadscript:
<%
response.buffer = true
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"
key = request.querystring("key")
send_til_url = request.querystring("send_til_url")
If key = 1 then
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,"\"))
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER=mysql; SERVER=server; DATABASE=db; UID=uid; PWD=password"
set rs = Conn.Execute("Select max(nummer) as max_nummer from billeder")
count = rs("max_nummer") +1
rs.Close
Set rs = Nothing
Conn.Execute("Update billeder set nummer = nummer + 1")
conn.Close
Set conn = Nothing
response.Clear
tmp=filename
extention = Right(tmp,Len(tmp) - Instr(tmp,"."))
If lcase(extension) = "gif" or lcase(extension) = "jpg" or lcase(extension) = "png" or lcase(extension) = "jpeg" Then
filename="photo" & count & "." & extention
Session("src") = filename
value = UploadRequest.Item("blob").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("fileupload/"&filename))
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
Sub BuildUploadRequest(RequestBin)
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
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)
If PosFile<>0 AND (PosFile<PosBound) Then
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
PosBeg = PosEnd+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
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
UploadControl.Add "Value" , Value
UploadRequest.Add name, UploadControl
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
Loop
End Sub
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function
Response.Redirect("" & send_til_url & "")
Else
Response.Redirect("default.asp")
End If
Else
Response.Redirect("default.asp")
End If
%>
<HTML>
<HEAD>
</HEAD>
<BODY>
<form METHOD='Post' ENCTYPE='multipart/form-data' ACTION='upload.asp?key=1&send_til_url=upload.asp?ok=hehe' id='form3' name='form3'>
<input TYPE="file" NAME="blob" class="input">
<input type='submit' name='Action' value='UPLOAD'>
</form>
</body>
</html>
