亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? upload.asp

?? OFFICE辦公自動化
?? ASP
?? 第 1 頁 / 共 2 頁
字號:
<%
'-----------------------------------------------------
' 描述: Asp無組件上傳帶進(jìn)度條
' 作者: 寶玉(www.webuc.net)
' 鏈接: www.pspsoft.com, www.cnforums.net, blog.joycode.com, www.cnblogs.com, www.51js.com
' 版本: 1.0 Beta
' 版權(quán): 本作品可免費(fèi)使用,但是請勿移除版權(quán)信息
' 推薦: asp.net上傳組件(http://www.upload4asp.net/)
'-----------------------------------------------------

Dim DoteyUpload_SourceData

Class DoteyUpload
	
	Public Files
	Public Form
	Public MaxTotalBytes
	Public Version
	Public ProgressID
	Public ErrMsg
	
	Private BytesRead
	Private ChunkReadSize
	Private Info
	Private Progress

	Private UploadProgressInfo
	Private CrLf

	Private Sub Class_Initialize()
		Set Files = Server.CreateObject("Scripting.Dictionary")	' 上傳文件集合
		Set Form = Server.CreateObject("Scripting.Dictionary")	' 表單集合
		UploadProgressInfo = "DoteyUploadProgressInfo"  ' Application的Key
		MaxTotalBytes = 1 *1024 *1024 *1024 ' 默認(rèn)最大1G
		ChunkReadSize = 64 * 1024	' 分塊大小64K
		CrLf = Chr(13) & Chr(10)	' 換行

		Set DoteyUpload_SourceData = Server.CreateObject("ADODB.Stream")
		DoteyUpload_SourceData.Type = 1 ' 二進(jìn)制流
		DoteyUpload_SourceData.Open

		Version = "1.0 Beta"	' 版本
		ErrMsg = ""	' 錯誤信息
		Set Progress = New ProgressInfo

	End Sub

	' 將文件根據(jù)其文件名統(tǒng)一保存在某路徑下
	Public Sub SaveTo(path)
		
		Upload()	' 上傳

		if right(path,1) <> "/" then path = path & "/" 

		' 遍歷所有已上傳文件
		For Each fileItem In Files.Items			
			fileItem.SaveAs path & fileItem.FileName
		Next

		' 保存結(jié)束后更新進(jìn)度信息
		Progress.ReadyState = "complete" '上傳結(jié)束
		UpdateProgressInfo progressID

	End Sub

	' 分析上傳的數(shù)據(jù),并保存到相應(yīng)集合中
	Public Sub Upload ()

		Dim TotalBytes, Boundary
		TotalBytes = Request.TotalBytes	 ' 總大小
		If TotalBytes < 1 Then
			Raise("無數(shù)據(jù)傳入")
			Exit Sub
		End If
		If TotalBytes > MaxTotalBytes Then
			Raise("您當(dāng)前上傳大小為" & TotalBytes/1000 & " K,最大允許為" & MaxTotalBytes/1024 & "K")
			Exit Sub
		End If
		Boundary = GetBoundary()
		If IsNull(Boundary) Then 
			Raise("如果form中沒有包括multipart/form-data上傳是無效的")
			Exit Sub	 ''如果form中沒有包括multipart/form-data上傳是無效的
		End If
		Boundary = StringToBinary(Boundary)
		
		Progress.ReadyState = "loading" '開始上傳
		Progress.TotalBytes = TotalBytes
		UpdateProgressInfo progressID

		Dim DataPart, PartSize
		BytesRead = 0

		'循環(huán)分塊讀取
		Do While BytesRead < TotalBytes

			'分塊讀取
			PartSize = ChunkReadSize
			if PartSize + BytesRead > TotalBytes Then PartSize = TotalBytes - BytesRead
			DataPart = Request.BinaryRead(PartSize)
			BytesRead = BytesRead + PartSize

			DoteyUpload_SourceData.Write DataPart

			Progress.UploadedBytes = BytesRead
			Progress.LastActivity = Now()

			' 更新進(jìn)度信息
			UpdateProgressInfo progressID

		Loop

		' 上傳結(jié)束后更新進(jìn)度信息
		Progress.ReadyState = "loaded" '上傳結(jié)束
		UpdateProgressInfo progressID

		Dim Binary
		DoteyUpload_SourceData.Position = 0
		Binary = DoteyUpload_SourceData.Read

		Dim BoundaryStart, BoundaryEnd, PosEndOfHeader, IsBoundaryEnd
		Dim Header, bFieldContent
		Dim FieldName
		Dim File
		Dim TwoCharsAfterEndBoundary

		BoundaryStart = InStrB(Binary, Boundary)
		BoundaryEnd = InStrB(BoundaryStart + LenB(Boundary), Binary, Boundary, 0)

		Do While (BoundaryStart > 0 And BoundaryEnd > 0 And Not IsBoundaryEnd)
			' 獲取表單頭的結(jié)束位置
			PosEndOfHeader = InStrB(BoundaryStart + LenB(Boundary), Binary, StringToBinary(vbCrLf + vbCrLf))
						
			' 分離表單頭信息,類似于:
			' Content-Disposition: form-data; name="file1"; filename="G:\homepage.txt"
			' Content-Type: text/plain
			Header = BinaryToString(MidB(Binary, BoundaryStart + LenB(Boundary) + 2, PosEndOfHeader - BoundaryStart - LenB(Boundary) - 2))

			' 分離表單內(nèi)容
			bFieldContent = MidB(Binary, (PosEndOfHeader + 4), BoundaryEnd - (PosEndOfHeader + 4) - 2)
			
			FieldName = GetFieldName(Header)
			' 如果是附件
			If InStr (Header,"filename=""") > 0 Then
				Set File = New FileInfo
				
				' 獲取文件相關(guān)信息
				Dim clientPath
				clientPath = GetFileName(Header)
				File.FileName = GetFileNameByPath(clientPath)
				File.FileExt = GetFileExt(clientPath)
				File.FilePath = clientPath
				File.FileType = GetFileType(Header)
				File.FileStart = PosEndOfHeader + 3
				File.FileSize = BoundaryEnd - (PosEndOfHeader + 4) - 2
				File.FormName = FieldName

				' 如果該文件不為空并不存在該表單項(xiàng)保存之
				If Not Files.Exists(FieldName) And File.FileSize > 0 Then
					Files.Add FieldName, File
				End If
			'表單數(shù)據(jù)				
			Else
				' 允許同名表單
				If Form.Exists(FieldName) Then
					Form(FieldName) = Form(FieldName) & "," & BinaryToString(bFieldContent)
				Else
					Form.Add FieldName, BinaryToString(bFieldContent)
				End If
			End If

			' 是否結(jié)束位置
			TwoCharsAfterEndBoundary = BinaryToString(MidB(Binary, BoundaryEnd + LenB(Boundary), 2))
			IsBoundaryEnd = TwoCharsAfterEndBoundary = "--"

			If Not IsBoundaryEnd Then ' 如果不是結(jié)尾, 繼續(xù)讀取下一塊
				BoundaryStart = BoundaryEnd
				BoundaryEnd = InStrB(BoundaryStart + LenB(Boundary), Binary, Boundary)
			End If
		Loop
		
		' 解析文件結(jié)束后更新進(jìn)度信息
		Progress.UploadedBytes = TotalBytes
		Progress.ReadyState = "interactive" '解析文件結(jié)束
		UpdateProgressInfo progressID

	End Sub

	'異常信息
	Private Sub Raise(Message)
		ErrMsg = ErrMsg & "[" & Now & "]" & Message & "<BR>"
		
		Progress.ErrorMessage = Message
		UpdateProgressInfo ProgressID
		
		'call Err.Raise(vbObjectError, "DoteyUpload", Message)

	End Sub

	' 取邊界值
	Private Function GetBoundary()
		Dim ContentType, ctArray, bArray
		ContentType = Request.ServerVariables("HTTP_CONTENT_TYPE")
		ctArray = Split(ContentType, ";")
		If Trim(ctArray(0)) = "multipart/form-data" Then
			bArray = Split(Trim(ctArray(1)), "=")
			GetBoundary = "--" & Trim(bArray(1))
		Else	'如果form中沒有包括multipart/form-data上傳是無效的
			GetBoundary = null
			Raise("如果form中沒有包括multipart/form-data上傳是無效的")
		End If
	End Function

	' 將二進(jìn)制流轉(zhuǎn)化成文本
	Private Function BinaryToString(xBinary)
		Dim Binary
		if vartype(xBinary) = 8 then Binary = MultiByteToBinary(xBinary) else Binary = xBinary
		
	  Dim RS, LBinary
	  Const adLongVarChar = 201
	  Set RS = CreateObject("ADODB.Recordset")
	  LBinary = LenB(Binary)
		
		if LBinary>0 then
			RS.Fields.Append "mBinary", adLongVarChar, LBinary
			RS.Open
			RS.AddNew
				RS("mBinary").AppendChunk Binary 
			RS.Update
			BinaryToString = RS("mBinary")
		Else
			BinaryToString = ""
		End If
	End Function


	Function MultiByteToBinary(MultiByte)
	  Dim RS, LMultiByte, Binary
	  Const adLongVarBinary = 205
	  Set RS = CreateObject("ADODB.Recordset")
	  LMultiByte = LenB(MultiByte)
		if LMultiByte>0 then
			RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
			RS.Open
			RS.AddNew
				RS("mBinary").AppendChunk MultiByte & ChrB(0)
			RS.Update
			Binary = RS("mBinary").GetChunk(LMultiByte)
		End If
	  MultiByteToBinary = Binary
	End Function


	' 字符串到二進(jìn)制
	Function StringToBinary(String)
		Dim I, B
		For I=1 to len(String)
			B = B & ChrB(Asc(Mid(String,I,1)))
		Next
		StringToBinary = B
	End Function

	'返回表單名
	Private Function GetFieldName(infoStr)
		Dim sPos, EndPos
		sPos = InStr(infoStr, "name=")
		EndPos = InStr(sPos + 6, infoStr, Chr(34) & ";")
		If EndPos = 0 Then
			EndPos = inStr(sPos + 6, infoStr, Chr(34))
		End If
		GetFieldName = Mid(infoStr, sPos + 6, endPos - _
			(sPos + 6))
	End Function

	'返回文件名
	Private Function GetFileName(infoStr)
		Dim sPos, EndPos
		sPos = InStr(infoStr, "filename=")
		EndPos = InStr(infoStr, Chr(34) & CrLf)
		GetFileName = Mid(infoStr, sPos + 10, EndPos - _
			(sPos + 10))
	End Function

	'返回文件的 MIME type
	Private Function GetFileType(infoStr)
		sPos = InStr(infoStr, "Content-Type: ")
		GetFileType = Mid(infoStr, sPos + 14)
	End Function

	'根據(jù)路徑獲取文件名
	Private Function GetFileNameByPath(FullPath)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品高清视频在线观看| 肉色丝袜一区二区| 欧美精品自拍偷拍| 国产成人在线网站| 亚洲国产精品一区二区久久| www激情久久| 欧美午夜精品电影| 成人精品电影在线观看| 日本午夜一本久久久综合| 国产精品美女久久久久久久久久久| 欧美一区二区三区日韩视频| 91影视在线播放| 国产成人亚洲综合a∨猫咪| 视频一区视频二区在线观看| 国产精品久久毛片a| 久久综合九色综合久久久精品综合| 欧美色精品天天在线观看视频| 成人午夜在线播放| 国内精品嫩模私拍在线| 日韩二区三区四区| 亚洲综合色成人| 亚洲人成人一区二区在线观看 | 欧美一区永久视频免费观看| 91视频国产资源| 成人免费看视频| 国产精品一区二区无线| 久久机这里只有精品| 婷婷成人综合网| 午夜精品久久久久久久久| 一区二区三区在线视频播放 | 亚洲国产人成综合网站| 亚洲日穴在线视频| 日本一区二区三区四区在线视频| 日韩精品中午字幕| 日韩美女一区二区三区四区| 欧美一级欧美一级在线播放| 69av一区二区三区| 69堂成人精品免费视频| 欧美一区日韩一区| 欧美一级片在线| 日韩欧美高清在线| 亚洲精品一区二区三区香蕉| 日韩一区二区三区三四区视频在线观看| 欧美色图第一页| 7777精品伊人久久久大香线蕉的 | 欧洲精品视频在线观看| 色先锋aa成人| 在线免费观看日韩欧美| 欧美性生活一区| 欧美人妇做爰xxxⅹ性高电影| 欧美放荡的少妇| 91精品一区二区三区久久久久久| 69p69国产精品| 精品国产伦一区二区三区免费| 久久久综合九色合综国产精品| 久久嫩草精品久久久精品| 国产亚洲精品bt天堂精选| 中文字幕精品一区| 日韩理论片网站| 亚洲成a人在线观看| 日韩成人dvd| 国产一区二区三区最好精华液| 国产一区二区网址| 91性感美女视频| 欧美日韩高清一区二区三区| 精品少妇一区二区三区在线播放| 久久精品一区二区三区av| 成人欧美一区二区三区小说| 亚洲成av人片www| 久久国产精品99久久人人澡| 国产不卡高清在线观看视频| 欧美主播一区二区三区| 欧美一级生活片| 国产精品三级在线观看| 亚洲一区二区精品3399| 久久99久久久欧美国产| av电影在线观看完整版一区二区| 欧美在线三级电影| 日韩欧美亚洲国产精品字幕久久久| 久久久国产午夜精品| 亚洲一区免费在线观看| 国产又黄又大久久| 欧美羞羞免费网站| 国产三级精品视频| 日韩国产精品久久久久久亚洲| 国产一区二区三区不卡在线观看 | 色网综合在线观看| 精品国产91久久久久久久妲己| 亚洲色图在线视频| 久久99精品国产91久久来源| 91亚洲国产成人精品一区二区三 | 亚洲午夜激情av| 国产精品一级在线| 欧美日韩高清影院| 国产精品欧美一区二区三区| 秋霞影院一区二区| 色呦呦日韩精品| 久久久久久黄色| 丝袜美腿成人在线| 色综合中文字幕国产| 日韩精品一区二区三区视频在线观看| 17c精品麻豆一区二区免费| 看片的网站亚洲| 欧美三级在线视频| 国产精品嫩草影院av蜜臀| 久久综合综合久久综合| 色www精品视频在线观看| 久久久www成人免费毛片麻豆| 无吗不卡中文字幕| 91免费国产视频网站| 国产无遮挡一区二区三区毛片日本| 婷婷亚洲久悠悠色悠在线播放| 99精品视频中文字幕| 久久精品网站免费观看| 老司机午夜精品| 91麻豆精品国产91久久久使用方法| 国产精品电影一区二区| 懂色av噜噜一区二区三区av| 精品国产伦一区二区三区观看方式 | 日日摸夜夜添夜夜添精品视频 | 成人国产精品免费网站| 欧美mv日韩mv国产| 久久激五月天综合精品| 欧美大片拔萝卜| 日本vs亚洲vs韩国一区三区二区| 欧美午夜精品久久久久久孕妇| 亚洲欧美日韩国产另类专区| 99久免费精品视频在线观看| 中文幕一区二区三区久久蜜桃| 国产麻豆91精品| 国产亚洲一区字幕| 国产精品资源网| 国产日产欧美精品一区二区三区| 久久精品国产77777蜜臀| 日韩久久免费av| 精品一区二区在线播放| 2014亚洲片线观看视频免费| 激情亚洲综合在线| 国产视频在线观看一区二区三区| 国产精品2024| 国产精品福利电影一区二区三区四区 | 国产精品久久久久aaaa樱花| 国产成人精品免费在线| 久久久99免费| 成人激情小说网站| 亚洲乱码国产乱码精品精98午夜| 在线观看成人小视频| 婷婷综合五月天| 欧美一级日韩一级| 国产一区二区不卡| 国产精品情趣视频| 色8久久精品久久久久久蜜| 亚洲国产视频a| 日韩欧美国产综合| 丰满亚洲少妇av| 一区二区国产视频| 91麻豆精品国产91| 国产精品一线二线三线| 中文字幕av一区二区三区高| 91视频xxxx| 奇米影视一区二区三区小说| 久久色在线观看| caoporn国产精品| 一区二区三区四区蜜桃| 欧美精品日日鲁夜夜添| 国内一区二区在线| 亚洲色图制服诱惑| 91麻豆精品91久久久久久清纯 | 日本不卡123| 欧美国产禁国产网站cc| 色88888久久久久久影院野外| 亚洲.国产.中文慕字在线| 欧美成人三级在线| www.亚洲色图| 日韩精品每日更新| 亚洲国产成人一区二区三区| 欧美午夜视频网站| 国产麻豆精品在线| 亚洲专区一二三| 久久久久久久久久美女| 一本大道久久精品懂色aⅴ| 日韩电影免费一区| 中文字幕一区二区视频| 6080国产精品一区二区| 成人午夜碰碰视频| 三级欧美韩日大片在线看| 欧美激情综合五月色丁香| 欧美性大战久久久| 国产一区二区三区国产| 亚洲成av人在线观看| 日本一区二区三区视频视频| 欧美在线综合视频| 国产成人免费在线视频| 日本视频在线一区| 日韩美女精品在线| 久久这里都是精品| 91精品欧美综合在线观看最新| 99视频一区二区三区| 免费在线视频一区| 一片黄亚洲嫩模|