美文网首页
被人遗忘的asp代码留存

被人遗忘的asp代码留存

作者: 编程永无止境 | 来源:发表于2019-06-25 21:58 被阅读0次

upload.htm

<html>
<head>
</head>

<body>
<table width="80%"  border="0" align="center">
<form name="form1" method="post" action="uploadimg.asp" enctype="multipart/form-data">
<tr>
    <td align="center"><input name="upfile" type="file" id="upfile"></td>
  </tr>
     <tr>
    <td align="center"><input type="submit" name="Submit" value="上传图片"></td>
  </tr>
  </form>
</table>
</body>
</html>

upload.inc

<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
dim oUpFileStream

Class upload_5xSoft
 
dim Form,File,Version
 
Private Sub Class_Initialize
dim RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
dim iFileSize,sFilePath,sFileType,sFormvalue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
Version="无组件上传类 Version 0.93"
set Form=Server.CreateObject("Scripting.Dictionary")
set File=Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes<1 then Exit Sub
set tStream = Server.CreateObject("adodb.stream")
set oUpFileStream = Server.CreateObject("adodb.stream")
oUpFileStream.Type = 1
oUpFileStream.Mode =3
oUpFileStream.Open
oUpFileStream.Write  Request.BinaryRead(Request.TotalBytes)
Response.Write  "<font size=""2"">页面执行时间:"&FormatNumber((Timer() -time1)*1000,3)&"毫秒</font><br>"
oUpFileStream.Position=0
RequestBinDate =oUpFileStream.Read
iFormStart = 1
iFormEnd = LenB(RequestBinDate)
bCrLf = chrB(13) & chrB(10)
sStart = MidB(RequestBinDate,1, InStrB(iFormStart,RequestBinDate,bCrLf)-1)
iStart = LenB (sStart)
iFormStart=iFormStart+iStart+1
while (iFormStart + 10) < iFormEnd
 iInfoEnd = InStrB(iFormStart,RequestBinDate,bCrLf & bCrLf)+3
 tStream.Type = 1
 tStream.Mode =3
 tStream.Open
 oUpFileStream.Position = iFormStart
 oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart
 tStream.Position = 0
 tStream.Type = 2
 tStream.Charset ="gb2312"
 sInfo = tStream.ReadText     
 '取得表单项目名称
 iFormStart = InStrB(iInfoEnd,RequestBinDate,sStart)
 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 oFileInfo=new FileInfo
  '取得文件名
  iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
  iFindEnd = InStr(iFindStart,sInfo,"""",1)
  sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
  oFileInfo.FileName=getFileName(sFileName)
  oFileInfo.FilePath=getFilePath(sFileName)
  '取得文件类型
  iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14
  iFindEnd = InStr(iFindStart,sInfo,vbCr)
  oFileInfo.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart)
  oFileInfo.FileStart =iInfoEnd
  oFileInfo.FileSize = iFormStart -iInfoEnd -3
  oFileInfo.FormName=sFormName
  file.add sFormName,oFileInfo
 else
 '如果是表单项目
  tStream.Close
  tStream.Type =1
  tStream.Mode =3
  tStream.Open
  oUpFileStream.Position = iInfoEnd
  oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-3
  tStream.Position = 0
  tStream.Type = 2
  tStream.Charset ="gb2312"
  sFormvalue = tStream.ReadText
  form.Add sFormName,sFormvalue
 end if
 tStream.Close
 iFormStart=iFormStart+iStart+1
 wend
RequestBinDate=""
set tStream =nothing
End Sub

Private Sub Class_Terminate 
if not Request.TotalBytes<1 then
 form.RemoveAll
 file.RemoveAll
 set form=nothing
 set file=nothing
 oUpFileStream.Close
 set oUpFileStream =nothing
  end if
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

End Class

Class FileInfo
  dim FormName,FileName,FilePath,FileSize,FileType,FileStart
  Private Sub Class_Initialize
    FileName = ""
    FilePath = ""
    FileSize = 0
    FileStart= 0
    FormName = ""
    FileType = ""
  End Sub
 
 Public function SaveAs(FullPath)
    dim oFileStream,ErrorChar,i
    SaveAs=1
    if trim(fullpath)="" or right(fullpath,1)="/" then exit function
    set oFileStream=CreateObject("Adodb.Stream")
    oFileStream.Type=1
    oFileStream.Mode=3
    oFileStream.Open
    oUpFileStream.position=FileStart
    oUpFileStream.copyto oFileStream,FileSize
    oFileStream.SaveToFile FullPath,2
    oFileStream.Close
    set oFileStream=nothing
    SaveAs=0
  end function
End Class
</SCRIPT>

uploadimg.asp

<!--#include FILE="upload.inc"-->
<%
dim upload,file,filepath
filepath="UPLOAD/"
set upload=new upload_5xSoft ''建立上传对象
for each formName in upload.file ''列出所有上传了的文件
 set file=upload.file(formName)  ''生成一个文件对象
 if file.FileSize>0 then         ''如果 FileSize > 0 说明有文件数据
  fname = file.filename
  file.SaveAs Server.mappath(filepath&fname)   ''保存文件
 end if  

 response.write   fname
set file=nothing
next
set upload=nothing  ''删除此对象

%>

相关文章

  • 被人遗忘的asp代码留存

    upload.htm upload.inc uploadimg.asp

  • ASP.NET MVC5 Json get 请求 和 ASP.N

    ASP.NET MVC5 代码如下: ASP.NET Core 代码如下:

  • 遗忘和留存

    “文字之光”遇见文字遇见你[http://%E3%80%90%E2%80%9C%E6%96%87%E5%AD%97...

  • 被人遗忘

    所有人都在举杯 没有人注意到你的神情 以及你面前的 空空如也 你也想融入 挤出一个微笑来表礼貌 别人给你夹菜未曾问...

  • 关于渗透测试的基本框架之Getshell

    解析漏洞 。其他 1. a.asp: jpg会以asp脚本格式执行图片中的代码2. a.asp/目录下所有文件被解...

  • 被人遗忘的孩子

    神奇孩子不再神奇。从15年11月开始坐上滑滑板一样,一路下滑,到大家无人关注。1.不能抱有幻想,进场抄底,有可能被...

  • 被人遗忘的细节

    我戴上老花镜,对着办公室雕花玻璃外的白日头,细细看我发表在市报副刊专栏的一篇小文《豆镇掌故杨小光烈士一二事》。那编...

  • 被人遗忘的角落

    已经到了该晚饭的时候,他不肯去,两手扒在走廊的栏杆上,眼巴巴地望着校门口。 “睿璨,吃晚饭了。”我轻轻喊了他一声...

  • 被人遗忘的书籍

    今天去办公楼找领导签字,看见一楼收发室开门了,进去一看信箱里塞满了一整年的书和报纸,门都关不上了。难得赶上开门,狠...

  • 被人遗忘的神像

    村头有座庙 庙里除了几尊泥塑的神像 再无一点人间烟火的迹象 香案上布满了灰尘 神像也布满了灰尘 没有人来侍奉这些神...

网友评论

      本文标题:被人遗忘的asp代码留存

      本文链接:https://www.haomeiwen.com/subject/vcrfcctx.html