1. <u id="4dkwc"><bdo id="4dkwc"></bdo></u>

          <video id="4dkwc"><ins id="4dkwc"></ins></video>

          虛擬主機Asp無組件文件上傳到租用服務(wù)器空間的實例

          發(fā)布時間:2006-06-18 22:09:24   瀏覽人數(shù): 586598 次  
            關(guān)鍵字: 無組件上傳 - 本站搜索 - Google搜索 - Baidu搜索 - Yahoo搜索 - sougo搜索
            關(guān)鍵字: Asp無組件上傳 - 本站搜索 - Google搜索 - Baidu搜索 - Yahoo搜索 - sougo搜索

          1.庫文件(upload.inc.asp)
          <%
          Dim oUpFileStream

          Class UpFile_Class

          Dim Form,File,Version,Err

          Private Sub Class_Initialize
          Version = "無組件上傳類 Version V1.0"
          Err = -1
          End Sub

          Private Sub Class_Terminate
          '清除變量及對像
          If Err < 0 Then
          Form.RemoveAll
          Set Form = Nothing
          File.RemoveAll
          Set File = Nothing
          oUpFileStream.Close
          Set oUpFileStream = Nothing
          End If
          End Sub

          Public Sub GetData (RetSize)
          '定義變量
          Dim RequestBinDate,sSpace,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
          Dim iFileSize,sFilePath,sFileType,sFormValue,sFileName
          Dim iFindStart,iFindEnd
          Dim iFormStart,iFormEnd,sFormName
          '代碼開始
          If Request.TotalBytes < 1 Then
          Err = 1
          Exit Sub
          End If
          If RetSize > 0 Then
          If Request.TotalBytes > RetSize Then
          Err = 2
          Exit Sub
          End If
          End If
          Set Form = Server.CreateObject ("Scripting.Dictionary")
          Form.CompareMode = 1
          Set File = Server.CreateObject ("Scripting.Dictionary")
          File.CompareMode = 1
          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)
          oUpFileStream.Position = 0
          RequestBinDate = oUpFileStream.Read
          iFormEnd = oUpFileStream.Size
          bCrLf = ChrB (13) & ChrB (10)
          '取得每個項目之間的分隔符
          sSpace = MidB (RequestBinDate,1, InStrB (1,RequestBinDate,bCrLf)-1)
          iStart = LenB (sSpace)
          iFormStart = iStart+2
          '分解項目
          Do
          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,sSpace)-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 oFileInfo = new FileInfo_Class
          '取得文件屬性
          iFindStart = InStr (iFindEnd,sInfo,"filename=""",1)+10
          iFindEnd = InStr (iFindStart,sInfo,"""",1)
          sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
          oFileInfo.FileName = Mid (sFileName,InStrRev (sFileName, "")+1)
          oFileInfo.FilePath = Left (sFileName,InStrRev (sFileName, "")+1)
          oFileInfo.FileExt = Mid (sFileName,InStrRev (sFileName, ".")+1)
          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 -2
          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-2
          tStream.Position = 0
          tStream.Type = 2
          tStream.CharSet = "gb2312"
          sFormValue = tStream.ReadText
          If Form.Exists (sFormName) Then
          Form (sFormName) = Form (sFormName) & ", " & sFormValue
          else
          form.Add sFormName,sFormValue
          End If
          End If
          tStream.Close
          iFormStart = iFormStart+iStart+2
          '如果到文件尾了就退出
          Loop Until (iFormStart+2) = iFormEnd
          RequestBinDate = ""
          Set tStream = Nothing
          End Sub
          End Class

          '文件屬性類
          Class FileInfo_Class
          Dim FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
          '保存文件方法
          Public Function SaveToFile (Path)
          On Error Resume Next
          Dim oFileStream
          Set oFileStream = CreateObject ("ADODB.Stream")
          oFileStream.Type = 1
          oFileStream.Mode = 3
          oFileStream.Open
          oUpFileStream.Position = FileStart
          oUpFileStream.CopyTo oFileStream,FileSize
          oFileStream.SaveToFile Path,2
          oFileStream.Close
          Set oFileStream = Nothing
          if Err.Number<>0 then
          SaveToFile=err.number&"**"&Err.descripton
          else
          SaveToFile="ok"
          end if
          End Function

          '取得文件數(shù)據(jù)
          Public Function FileDate
          oUpFileStream.Position = FileStart
          FileDate = oUpFileStream.Read (FileSize)
          End Function
          End Class
          %>


          2.處理用戶提交后的頁面(upload.asp)
          <!--#include file="upload.inc.asp"-->
          <html>
          <head>
          <title>文件上傳</title>
          </head>
          <body topmargin="0" leftmargin="0">
          <table width=100% border=0 cellspacing="0" cellpadding="0"><tr><td class=tablebody1 width=100% height=100% >
          <%
          dim upload,file,formName,formPath,filename,fileExt
          dim ranNum
          call UpFile()
          '===========無組件上傳(upload_0)====================
          sub UpFile()
          set upload=new UpFile_Class '建立上傳對象
          upload.GetData (500*1024) '取得上傳數(shù)據(jù),此處即為500 K

          if upload.err > 0 then
          select case upload.err
          case 1
          Response.Write "請先選擇你要上傳的文件 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
          case 2
          Response.Write "圖片大小超過了限制 500 K [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
          end select
          exit sub
          else
          formPath=upload.form("filepath") '文件保存目錄,此目錄必須為程序可讀寫
          if formPath="" then
          formPath="rwdata/"
          end if
          '在目錄后加(/)
          if right(formPath,1)<>"/" then
          formPath=formPath&"/"
          end if

          for each formName in upload.file '列出所有上傳了的文件
          set file=upload.file(formName) '生成一個文件對象
          if file.filesize<100 then
          response.write "請先選擇你要上傳的圖片 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
          response.end
          end if

          fileExt=lcase(file.FileExt)
          if CheckFileExt(fileEXT)=false then
          response.write "文件格式不正確 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
          response.end
          end if

          'randomize
          ranNum=int(90000*rnd)+10000
          filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
          if file.FileSize>0 then '如果 FileSize > 0 說明有文件數(shù)據(jù)
          result=file.SaveToFile(Server.mappath(filename)) '保存文件
          if result="ok" then
          response.write formName&" upload OK, had saved to "&filename&"<br>"
          else
          response.write formName&" upload Fail,"&result&"<br>"
          end if
          end if
          set file=nothing
          next
          set upload=nothing
          end if
          end sub

          '判斷文件類型是否合格
          Private Function CheckFileExt (fileEXT)
          dim Forumupload
          Forumupload="gif,jpg,bmp,jpeg"
          Forumupload=split(Forumupload,",")
          for i=0 to ubound(Forumupload)
          if lcase(fileEXT)=lcase(trim(Forumupload(i))) then
          CheckFileExt=true
          exit Function
          else
          CheckFileExt=false
          end if
          next
          End Function
          %>
          </td></tr></table>
          </body>
          </html>



          3.HTML 表單(upload.html)
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <title>asp 無組件上傳</title>
          </head>

          <body>
          請選擇要上傳的文件
          <form action="upfile.asp" method="post" enctype="multipart/form-data" name="form1">
          <input type="file" name="file">
          <!--<br>
          <input type="file" name="file">
          <br>
          <input type="file" name="file">
          <br>-->
          <input type="submit" name="Submit" value="提交">
          </form>
          </body>
          </html>




          上一篇:PHP主機租用 PHP發(fā)郵件的例程
          下一篇:ASP.net虛擬主機 連接access數(shù)據(jù)庫例程

          旗下網(wǎng)站:耐思智慧 - 淘域網(wǎng) - 我的400電話 - 中文域名:耐思尼克.cn 耐思尼克.top

          耐思智慧 © 版權(quán)所有 Copyright © 2000-2024 IISP.COM,Inc. All rights reserved

          備案號碼: 粵ICP備09063828號  公安備案號: 公安備案 粵公網(wǎng)安備 44049002000123號  域名注冊服務(wù)機構(gòu)許可:粵D3.1-20240003 CN域名代理自深圳萬維網(wǎng)

          聲明:本網(wǎng)站中所使用到的其他各種版權(quán)內(nèi)容,包括但不限于文章、圖片、視頻、音頻、字體等內(nèi)容版權(quán)歸原作者所有,如權(quán)利所有人發(fā)現(xiàn),請及時告知,以便我們刪除版權(quán)內(nèi)容

          本站程序界面、源代碼受相關(guān)法律保護, 未經(jīng)授權(quán), 嚴(yán)禁使用; 耐思智慧 © 為我公司注冊商標(biāo), 未經(jīng)授權(quán), 嚴(yán)禁使用

          法律顧問:珠海知名律師 廣東篤行律師事務(wù)所 夏天風(fēng) 律師

          日韩精品一区二区三区毛片_亚洲中文字幕在线19页_久久超碰熟女中文字幕_四季AV在线二区中文字幕
            1. <u id="4dkwc"><bdo id="4dkwc"></bdo></u>

                <video id="4dkwc"><ins id="4dkwc"></ins></video>