BVB Source Codes

Jie Yang v0.6.3 article system Show picupclass.asp Source code

Return Download Jie Yang v0.6.3 article system: download picupclass.asp Source code - Download Jie Yang v0.6.3 article system Source code - Type:.asp
  1. <%
  2. '无惧上传最新版 V2.2
  3. '张俊强修改增强版
  4. Class UpFile_Class
  5.         Dim Form,File
  6.         Dim AllowExt_   '允许上传类型(白名单)
  7.         Dim NoAllowExt_ '不允许上传类型(黑名单)
  8.         Dim IsDebug_ '是否显示出错信息
  9.         Private oUpFileStream   '上传的数据流
  10.         Private isErr_          '错误的代码,0或true表示无错
  11.         Private ErrMessage_     '错误的字符串信息
  12.         Private isGetData_      '指示是否已执行过GETDATA过程
  13.  
  14.         Public Property Get Version
  15.                 Version="无惧上传类 Version 2.2"
  16.         End Property
  17.        
  18.         Public Property Get isErr               '错误的代码,0或true表示无错
  19.                 isErr=isErr_
  20.         End Property
  21.        
  22.         Public Property Get ErrMessage
  23.                 ErrMessage=ErrMessage_
  24.         End Property
  25.        
  26.         Public Property Get AllowExt
  27.                 AllowExt=AllowExt_
  28.         End Property
  29.        
  30.         Public Property Let AllowExt(Value)    
  31.                 AllowExt_=LCase(Value)
  32.         End Property
  33.        
  34.         Public Property Get NoAllowExt
  35.                 NoAllowExt=NoAllowExt_
  36.         End Property
  37.        
  38.         Public Property Let NoAllowExt(Value)
  39.                 NoAllowExt_=LCase(Value)
  40.         End Property
  41.        
  42.         Public Property Let IsDebug(Value)
  43.                 IsDebug_=Value
  44.         End Property
  45.        
  46.         Private Sub Class_Initialize
  47.                 isErr_ = 0
  48.                 NoAllowExt=""          
  49.                 NoAllowExt=LCase(NoAllowExt)
  50.                 AllowExt=""
  51.                 AllowExt=LCase(AllowExt)
  52.                 isGetData_=false
  53.         End Sub
  54.        
  55.         Private Sub Class_Terminate    
  56.                 on error Resume Next
  57.                 Form.RemoveAll
  58.                 Set Form = Nothing
  59.                 File.RemoveAll
  60.                 Set File = Nothing
  61.                 oUpFileStream.Close
  62.                 Set oUpFileStream = Nothing
  63.                 if Err.number<>0 then OutErr("清除类时发生错误!")
  64.         End Sub
  65.        
  66.         Public Sub GetData (MaxSize)
  67.                 on error Resume Next
  68.                 if isGetData_=false then
  69.                         Dim RequestBinDate,sSpace,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
  70.                         Dim sFormValue,sFileName
  71.                         Dim iFindStart,iFindEnd
  72.                         Dim iFormStart,iFormEnd,sFormName
  73.                         If Request.TotalBytes < 1 Then
  74.                                 isErr_ = 1
  75.                                 ErrMessage_="没有数据上传,这是因为直接提交网址所产生的错误!"
  76.                                 OutErr("没有数据上传,这是因为直接提交网址所产生的错误!!")
  77.                                 Exit Sub
  78.                         End If
  79.                         If MaxSize > 0 Then
  80.                                 If Request.TotalBytes > MaxSize Then
  81.                                 isErr_ = 2
  82.                                 ErrMessage_="上传的数据超出限制大小!"
  83.                                 OutErr("上传的数据超出限制大小!")
  84.                                 Exit Sub
  85.                                 End If
  86.                         End If
  87.                         Set Form = Server.CreateObject ("Scripting.Dictionary")
  88.                         Form.CompareMode = 1
  89.                         Set File = Server.CreateObject ("Scripting.Dictionary")
  90.                         File.CompareMode = 1
  91.                         Set tStream = Server.CreateObject ("ADODB.Stream")
  92.                         Set oUpFileStream = Server.CreateObject ("ADODB.Stream")
  93.                         if Err.number<>0 then OutErr("创建流对象(ADODB.STREAM)时出错,可能系统不支持或没有开通该组件")
  94.                         oUpFileStream.Type = 1
  95.                         oUpFileStream.Mode = 3
  96.                         oUpFileStream.Open
  97.                         oUpFileStream.Write Request.BinaryRead (Request.TotalBytes)
  98.                         oUpFileStream.Position = 0
  99.                         RequestBinDate = oUpFileStream.Read
  100.                         iFormEnd = oUpFileStream.Size
  101.                         bCrLf = ChrB (13) & ChrB (10)
  102.  
  103.                         sSpace = MidB (RequestBinDate,1, InStrB (1,RequestBinDate,bCrLf)-1)
  104.                         iStart = LenB(sSpace)
  105.                         iFormStart = iStart+2
  106.                         Do
  107.                                 iInfoEnd = InStrB (iFormStart,RequestBinDate,bCrLf & bCrLf)+3
  108.                                 tStream.Type = 1
  109.                                 tStream.Mode = 3
  110.                                 tStream.Open
  111.                                 oUpFileStream.Position = iFormStart
  112.                                 oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart
  113.                                 tStream.Position = 0
  114.                                 tStream.Type = 2
  115.                                 tStream.CharSet = "gb2312"
  116.                                 sInfo = tStream.ReadText                       
  117.  
  118.                                 iFormStart = InStrB (iInfoEnd,RequestBinDate,sSpace)-1
  119.                                 iFindStart = InStr (22,sInfo,"name=""",1)+6
  120.                                 iFindEnd = InStr (iFindStart,sInfo,"""",1)
  121.                                 sFormName = Mid(sinfo,iFindStart,iFindEnd-iFindStart)
  122.                                 If InStr (45,sInfo,"filename=""",1) > 0 Then
  123.                                         Set oFileInfo = new FileInfo_Class
  124.                                         iFindStart = InStr (iFindEnd,sInfo,"filename=""",1)+10
  125.                                         iFindEnd = InStr (iFindStart,sInfo,""""&vbCrLf,1)
  126.                                         sFileName = Trim(Mid(sinfo,iFindStart,iFindEnd-iFindStart))
  127.                                         oFileInfo.FileName = GetFileName(sFileName)
  128.                                         oFileInfo.FilePath = GetFilePath(sFileName)
  129.                                         oFileInfo.FileExt = GetFileExt(sFileName)
  130.                                         iFindStart = InStr (iFindEnd,sInfo,"Content-Type: ",1)+14
  131.                                         iFindEnd = InStr (iFindStart,sInfo,vbCr)
  132.                                         oFileInfo.FileMIME = Mid(sinfo,iFindStart,iFindEnd-iFindStart)
  133.                                         oFileInfo.FileStart = iInfoEnd
  134.                                         oFileInfo.FileSize = iFormStart -iInfoEnd -2
  135.                                         oFileInfo.FormName = sFormName
  136.                                         file.add sFormName,oFileInfo
  137.                                 else
  138.                                         tStream.Close
  139.                                         tStream.Type = 1
  140.                                         tStream.Mode = 3
  141.                                         tStream.Open
  142.                                         oUpFileStream.Position = iInfoEnd
  143.                                         oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-2
  144.                                         tStream.Position = 0
  145.                                         tStream.Type = 2
  146.                                         tStream.CharSet = "gb2312"
  147.                                         sFormValue = tStream.ReadText
  148.                                         If Form.Exists (sFormName) Then
  149.                                                 Form (sFormName) = Form (sFormName) & ", " & sFormValue
  150.                                         Else
  151.                                                 Form.Add sFormName,sFormValue
  152.                                         End If
  153.                                 End If
  154.                                 tStream.Close
  155.                                 iFormStart = iFormStart+iStart+2
  156.                         Loop Until (iFormStart+2) >= iFormEnd
  157.                         if Err.number<>0 then OutErr("分解上传数据时发生错误,可能客户端的上传数据不正确或不符合上传数据规则")
  158.                         RequestBinDate = ""
  159.                         Set tStream = Nothing
  160.                         isGetData_=true
  161.                 end if
  162.         End Sub
  163.        
  164.         Public Function SaveToFile(Item,Path)
  165.                 SaveToFile=SaveToFileEx(Item,Path,True)
  166.         End Function
  167.        
  168.         Public Function AutoSave(Item,Path)
  169.                 AutoSave=SaveToFileEx(Item,Path,false)
  170.         End Function
  171.        
  172.         Private Function SaveToFileEx(Item,Path,Over)
  173.                 On Error Resume Next
  174.                 '张俊强修改部分
  175.                 Dim newFileName,showPath
  176.                 Dim FileExt
  177.                 if file.Exists(Item) then
  178.                         Dim oFileStream
  179.                         Dim tmpPath
  180.                         isErr_=0
  181.                         Set oFileStream = CreateObject ("ADODB.Stream")
  182.                         oFileStream.Type = 1
  183.                         oFileStream.Mode = 3
  184.                         oFileStream.Open
  185.                         oUpFileStream.Position = File(Item).FileStart
  186.                         oUpFileStream.CopyTo oFileStream,File(Item).FileSize
  187.                         tmpPath=Split(Path,".")(0)
  188.                         FileExt=GetFileExt(Path)
  189.                         if Over then
  190.                                 if isAllowExt(FileExt) then
  191.                                         oFileStream.SaveToFile tmpPath & "." & FileExt,2
  192.                                         if Err.number<>0 then OutErr("保存文件时出错,请检查路径,是否存在该上传目录!该文件保存路径为" & tmpPath & "." & FileExt)
  193.                                         Else
  194.                                         isErr_=3
  195.                                         ErrMessage_="该后缀名的文件不允许上传!"
  196.                                         OutErr("该后缀名的文件不允许上传")
  197.                                 End if
  198.                                 Else
  199.                                 Path=GetFilePath(Path)
  200.                                 dim fori
  201.                                 fori=1
  202.                                 if isAllowExt(File(Item).FileExt) then
  203.                                         do
  204.                                                 fori=fori+1
  205.                                                 Err.Clear()
  206.                                                 '张俊强修改部分
  207.                                                 newFileName=GetNewFileName()&"."&File(Item).FileExt
  208.                                                 showPath=upfile.form("showPath")
  209.                                                 If showPath<>"" And Right(showPath,1)<>"/" Then
  210.                                                         showPath=showPath&"/"
  211.                                                 End If
  212.                                                 response.write "<script>window.opener.document."&upfile.form("fromForm")&"."&upfile.form("fromEdit")&".value='"&showPath&newFileName&"';</script>"
  213.                                                 'tmpPath=Path&newFileName
  214.                                                 '张俊强修改部分
  215.                                                 tmpPath=Server.mappath(upfile.form("saveTo"))&"\"&newFileName
  216.                                                 oFileStream.SaveToFile tmpPath
  217.                                         loop Until ((Err.number=0) or (fori>50))
  218.                                         if Err.number<>0 then OutErr("自动保存文件出错,已经测试50次不同的文件名来保存,请检查目录是否存在!该文件最后一次保存时全路径为"&Path&GetNewFileName()&"."&File(Item).FileExt)
  219.                                         '张俊强修改部分
  220.                                         Response.Write "<script>window.alert('文件上传成功!');window.close();</script>"
  221.                                         Response.End()
  222.                                 Else
  223.                                         isErr_=3
  224.                                         ErrMessage_="该后缀名的文件不允许上传!"
  225.                                         OutErr("该后缀名的文件不允许上传")
  226.                                 End if
  227.                         End if
  228.                         oFileStream.Close
  229.                         Set oFileStream = Nothing
  230.                 else
  231.                         ErrMessage_="不存在该对象(如该文件没有上传,文件为空)!"
  232.                         OutErr("不存在该对象(如该文件没有上传,文件为空)")
  233.                 end if
  234.                 if isErr_=3 then SaveToFileEx="" else SaveToFileEx=GetFileName(tmpPath)
  235.         End Function
  236.        
  237.         Public Function FileData(Item)
  238.                 isErr_=0
  239.                 if file.Exists(Item) then
  240.                         if isAllowExt(File(Item).FileExt) then
  241.                                 oUpFileStream.Position = File(Item).FileStart
  242.                                 FileData = oUpFileStream.Read (File(Item).FileSize)
  243.                         Else
  244.                                 isErr_=3
  245.                                 ErrMessage_="该后缀名的文件不允许上传"
  246.                                 OutErr("该后缀名的文件不允许上传")
  247.                                 FileData=""
  248.                         End if
  249.                 else
  250.                         ErrMessage_="不存在该对象(如该文件没有上传,文件为空)!"
  251.                         OutErr("不存在该对象(如该文件没有上传,文件为空)")
  252.                 end if
  253.         End Function
  254.        
  255.         Public function GetFilePath(FullPath)
  256.           If FullPath <> "" Then
  257.                 GetFilePath = Left(FullPath,InStrRev(FullPath, "\"))
  258.                 Else
  259.                 GetFilePath = ""
  260.           End If
  261.         End function
  262.        
  263.         Public Function GetFileName(FullPath)
  264.           If FullPath <> "" Then
  265.                 GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
  266.                 Else
  267.                 GetFileName = ""
  268.           End If
  269.         End function
  270.        
  271.         Public Function GetFileExt(FullPath)
  272.           If FullPath <> "" Then
  273.                 GetFileExt = LCase(Mid(FullPath,InStrRev(FullPath, ".")+1))
  274.                 Else
  275.                 GetFileExt = ""
  276.           End If
  277.         End function
  278.        
  279.         Public Function GetNewFileName()
  280.                 dim ranNum
  281.                 dim dtNow
  282.                 dtNow=Now()
  283.                 randomize
  284.                 ranNum=int(90000*rnd)+10000
  285.                 GetNewFileName=year(dtNow) & right("0" & month(dtNow),2) & right("0" & day(dtNow),2) & right("0" & hour(dtNow),2) & right("0" & minute(dtNow),2) & right("0" & second(dtNow),2) & ranNum
  286.         End Function
  287.        
  288.         Public Function isAllowExt(Ext)
  289.                 if NoAllowExt="" then
  290.                         isAllowExt=cbool(InStr(1,";"&AllowExt&";",LCase(";"&Ext&";")))
  291.                         else
  292.                         isAllowExt=not CBool(InStr(1,";"&NoAllowExt&";",LCase(";"&Ext&";")))
  293.                 end if
  294.         End Function
  295.         End Class
  296.        
  297.         Public Sub OutErr(ErrMsg)
  298.         if IsDebug_=true then
  299.                 Response.Write ErrMsg
  300.                 Response.End
  301.                 End if
  302.         End Sub
  303.         Class FileInfo_Class
  304.         Dim FormName,FileName,FilePath,FileSize,FileMIME,FileStart,FileExt
  305. End Class
  306. %>
  307.  
  308.  
  309.  
downloadpicupclass.asp Source code - Download Jie Yang v0.6.3 article system Source code
Related Source Codes/Software:
Jilin classification information release system v5.0 trial version - A ready-made classifieds site publishing system, h... 2016-09-21
Linyi CMS v6.5 market classification information - A. supply and demand information function: informa... 2016-09-21
Tesco discount net SQL version - And presentations, faster. 2016-09-21
- electronic enterprise website management system In a fully functional version - Super suitable for enterprise agents build a corpo... 2016-09-21
Rio mesh network hard disk system v3.0 - System functions: 1, increase the progress of Asp... 2016-09-21
Classified information network business in suzhou - Overall module: classification of supply and deman... 2016-09-21
NPOINT virtual host v1.7.0 formal version management system - The system main function is introduced 2016-09-21
IDC sales web site - Beautiful IDC sales web site source code 2016-09-21
Oo 126 CMS movie site system - This procedure ASP + ACC/ASP + SQL, using new kern... 2016-09-21
Pcook CMS bubble guest v3.0 SDCMS version - Developed by Asp+Access, and meet the needs of sma... 2016-09-21
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top