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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 上傳組件(2)-文章來自httpwww.aspcn.com asp中華網.txt

?? c_c++技巧集
?? TXT
字號:
作者:cooljack
日期:00-5-29 上午 10:05:27
上傳組件(2)  

 
此文件為aspcnUP組件的源程序 
'******************************************************************************************************
'** AspcnUP 0.5 beta 源程序 *
'** 源程序來自 http://www.aspcn.com *
'** 本組件為AspcnUP 由[清水萬維工作室] 飛刀 開發,目前版本為 0.5beta *
'** 本程序版權由本人保留,不過大家可以將本源程序修改,升級(只需保留組件名和工程名) *
'** 如果您將本程序修改后發表,敬請您同時公開源代碼,為更多的人服務,在此飛刀表示謝謝 *
'** 但是[禁止]將本程序修改后用作商業產品出售,本人開發的初衷也是為了讓更多的人了解組件。 *
'** 寫出更多更好的屬于中國人的組件 *
'** (將別人的程序當自己開發,甚至出售,這種行為也是可恨的。本人遇到過這種情況,所以很反感) *
'** 本程序我已經做了詳細的注釋,還有不明白的地方,或者建議 *
'** 請發信至 feidao@cmmail.com ,或者在本站點的論壇中指出 *
'** 同時,本程序處理中文方面使用了woozhj兄的處理方式,在此表示感謝 *
'******************************************************************************************************
Option Explicit

Private MyScriptingContext As ASPTypeLibrary.ScriptingContext
Private MyResponse As ASPTypeLibrary.Response
Private MyRequest As ASPTypeLibrary.Request
Private MyServer As ASPTypeLibrary.Server

Private lngFieldCount As Long
Private allFieldValuex() As Variant
Private allFieldNamex() As String
Private allFieldSizex() As Long
Private lngOverWritex As Integer
Private lngMaxSizex As Long
Private varPathx As String


Private Const FILE_EXISTS As Long = vbObjectError + 101
Private Const FILE_EMPTY As Long = vbObjectError + 102
Private Const FILENAME_EMPTY As Long = vbObjectError + 103
Private Const FILESIZE_GO_BEYOND As Long = vbObjectError + 104
Private Const FILE_TOTAL_COUNT_BEYOND As Long = vbObjectError + 105
Private Const FIELDNAME_EMPTY As Long = vbObjectError + 106
Private Const NO_FILE_UPLOAD As Long = vbObjectError + 107
Private Const PATH_NAME_ERR As Long = vbObjectError + 108
'以下兩個子程序是必須的,為什么要這樣,請看看我以前的文章
'參考文章有http://www.aspcn.com/showarticle.asp?id=29
'http://www.aspcn.com/showarticle.asp?id=26
Public Sub OnStartPage(PassedScriptingcontext As ScriptingContext)
Set MyScriptingContext = PassedScriptingcontext
Set MyRequest = MyScriptingContext.Request
Set MyServer = MyScriptingContext.Server
End Sub
Public Sub OnEndPage()
Set MyScriptingContext = Nothing
Set MyRequest = Nothing
Set MyServer = Nothing
End Sub
'upload 子程序是主程序,上載均在此完成,如果在上載過程序出錯upload返回錯誤信息,如果沒有返回成功信息
Public Function Upload(Optional ByVal lngMaxSize As Long, Optional ByVal ServerPath As String, Optional ByVal lngOverWrite As Integer) As String
On Error GoTo error_occurs '出現錯誤后轉到error_occurs
Dim i As Long
Dim Pos As Long
Dim lngTotalSize As Long
Dim lngFormCount As Long
Dim varFormType As String
Dim varHeaderValue As Variant
Dim varBoundary As Variant
Dim lngFormHeadStart As Long
Dim lngFormHeadEnd As Long
Dim lngOffSet As Long
Dim lngFieldNameStart As Long
Dim lngFieldNameEnd As Long
Dim varFieldName As String
Dim lngFileNameStart As Long
Dim lngFileNameEnd As Long
Dim varFileName As String
Dim lngFileValueStart As Long
Dim lngFileValueEnd As Long
Dim lngFileValueLength As Long
Dim varFileValue() As Byte
Dim lngBoundaryEnd As Long
Dim Just As Boolean
Dim tmpFileName As Variant
Dim varFieldValue As String
Dim lngFieldValueStart As Long
Dim lngFieldValueEnd As Long
Dim lngFieldValueLength As Long
Dim tmpHeaderValue As Variant
Dim allFieldValue() As Variant
Dim allFieldName() As String
Dim allFieldSize() As Long
'獲取文件的大小限制
If lngMaxSizex <> 0 Then
lngMaxSize = lngMaxSizex
Else
If lngMaxSize = 0 Then lngMaxSize = 100000
End If
'判斷目標文件存在時,是否覆蓋
If lngOverWritex <> 0 Then
lngOverWrite = lngOverWritex
Else
If lngOverWrite = 0 Then lngOverWrite = 1
End If
'處理上載的目錄
If Len(varPathx) > 2 Then
ServerPath = varPathx
Else
If Len(ServerPath) < 2 Then ServerPath = "c:\"
End If
If InStr(ServerPath, ":") = 0 Then
Err.Raise PATH_NAME_ERR '如果目錄不是絕對路徑就出錯
End If
lngTotalSize = MyRequest.TotalBytes '獲得上載數量的大小
varHeaderValue = MyRequest.BinaryRead(lngTotalSize) '讀取上載值
'加1的原因是因為vbCrLf是chr(10)+chr(13) 組成的,所以占了兩個字節
lngBoundaryEnd = InStrB(1, varHeaderValue, StoB(vbCrLf)) + 1
varBoundary = LeftB(varHeaderValue, lngBoundaryEnd) '獲得分界線的值
'取得表單的個數
tmpHeaderValue = StrConv(varHeaderValue, vbUnicode)
lngFormCount = Len(tmpHeaderValue) - Len(Replace(tmpHeaderValue, "; name=", Mid("; name=", 2)))
lngFieldCount = lngFormCount
'獲得表單個數時,本人曾想直接用二進制,但是獲得的個數有時對有時錯,一氣之下用了最原始的文本
ReDim Preserve allFieldName(lngFormCount)
ReDim Preserve allFieldValue(lngFormCount)
ReDim Preserve allFieldSize(lngFormCount)
'以上三個函數分別記錄表單項的名字,數據,大小(字節)
If lngFormCount > 255 Then
Err.Raise FILE_TOTAL_COUNT_BEYOND
End If
If lngFormCount = 0 Then
Err.Raise NO_FILE_UPLOAD
End If
'以下處理上載上來的值
lngOffSet = lngBoundaryEnd
For i = 0 To lngFormCount - 1
'取得表單項的名字
lngFieldNameStart = InStrB(lngOffSet, varHeaderValue, StoB("; name=") & ChrB(34))
'取得表單名的末位置
lngFieldNameEnd = InStrB(lngFieldNameStart + LenB(StoB("; name=") & ChrB(34)), varHeaderValue, ChrB(34)) + LenB(ChrB(34))
varFieldName = BtoS(MidB(varHeaderValue, lngFieldNameStart, lngFieldNameEnd - lngFieldNameStart))
varFieldName = Replace(varFieldName, "; name=", vbNullString)
varFieldName = Replace(varFieldName, Chr(34), vbNullString)
'表單名搞定,以下來搞定文件名
'生成一個臨時變量,用以查詢此表單項的內容是文件還是普通的文本
tmpFileName = MidB(varHeaderValue, lngFieldNameEnd, 15)
If InStrB(tmpFileName, StoB("; filename=")) <> 0 Then
lngFileNameStart = InStrB(lngFieldNameEnd, varHeaderValue, StoB("filename=" & Chr(34))) '取得文件名的首位置
lngFileNameEnd = InStrB(lngFileNameStart + LenB(StoB("filename=" & Chr(34))), varHeaderValue, ChrB(34)) '取得文件名的末位置
varFileName = BtoS(MidB(varHeaderValue, lngFileNameStart, lngFileNameEnd - lngFileNameStart))
If lngFileNameEnd - lngFileNameStart < 2 Then
Err.Raise FILENAME_EMPTY
End If
varFileName = Replace(varFileName, "filename=", vbNullString)
varFileName = Replace(varFileName, Chr(34), vbNullString)
'含路徑的文件名已經搞定,現在要分離出真正的文件名
For Pos = Len(varFileName) To 1 Step -1
If Mid(varFileName, Pos, 1) = "\" Or Mid(varFileName, Pos, 1) = ":" Then '發現\或:,表示真正的文件名結束
varFileName = Mid(varFileName, Pos + 1, Len(varFileName) - Pos)
Exit For
End If
Next
'文件名搞定
'下面來搞定文件(表單對象)內容
'加4是因為要除去兩個vbCrlf的大小
lngFileValueStart = InStrB(lngFileNameEnd, varHeaderValue, StoB(vbCrLf & vbCrLf)) + 4
lngFileValueEnd = InStrB(lngFileValueStart, varHeaderValue, LeftB(varBoundary, lngBoundaryEnd - 2)) - 2
lngFileValueLength = lngFileValueEnd - lngFileValueStart
If lngFileValueLength < 2 Then
Err.Raise FILE_EMPTY
End If
If lngFileValueLength > lngMaxSize Then
Err.Raise FILESIZE_GO_BEYOND
End If
varFileValue = MidB(varHeaderValue, lngFileValueStart, lngFileValueLength)
allFieldName(i) = CStr(varFieldName)
allFieldSize(i) = CLng(lngFileValueLength)
allFieldValue(i) = CVar(varFileValue)
'內容已經分離出來,下一步就是保存文件了
Just = SaveFile(ServerPath, CStr(varFileName), varFileValue, lngOverWrite)
If Just = False Then
Err.Raise FILE_EXISTS
End If
lngOffSet = lngFileValueEnd + lngBoundaryEnd - 2
Else
'表單項只是普通的文本,就進行如下處理
lngFieldValueStart = lngFieldNameEnd + 4
lngFieldValueEnd = InStrB(lngFieldValueStart, varHeaderValue, LeftB(varBoundary, lngBoundaryEnd - 2)) - 2
lngFieldValueLength = lngFieldValueEnd - lngFieldValueStart
varFieldValue = BtoS(MidB(varHeaderValue, lngFieldValueStart, lngFieldValueLength))
varFieldValue = Replace(varFieldValue, vbCrLf, vbNullString)
allFieldName(i) = CStr(varFieldName)
allFieldSize(i) = CLng(lngFieldValueLength)
allFieldValue(i) = CVar(varFieldValue)
lngOffSet = lngFieldValueEnd + lngBoundaryEnd - 2
End If
Next
allFieldNamex = allFieldName()
allFieldSizex = allFieldSize()
allFieldValuex = allFieldValue()
error_occurs:
If Err.Number <> 0 Then
Select Case Err.Number
Case FILE_EXISTS
Upload = "對不起,目標文件在上載的目錄中已經存在,如果需要覆蓋,請將[overwrite]屬性定義為[2]。(Sorry,the file which you want to upload has already exists.if you want to overwrite it ,please define the property of [overwrite] to [2])"
Exit Function
Case FILENAME_EMPTY
Upload = "對不起,[" & varFieldName & "]表單項中的文件名為空。(Sorry,item [" & varFieldName & "] is empty.)"
Exit Function
Case FILESIZE_GO_BEYOND
Upload = "對不起,文件名為[" & varFileName & "] 的文件大小超出了范圍。(Sorry ,the size of file [" & varFileName & "] is beyond.)"
Exit Function
Case FILENAME_EMPTY
Upload = "對不起,第[" & i & "]個表單項名為空。(Sorry ,No." & i & " item is empty.)"
Exit Function
Case FILE_EMPTY
Upload = "對不起,文件名為[" & varFileName & "] 的文件為空。(Sorry,file [" & varFileName & "] is empty.)"
Exit Function
Case FILE_TOTAL_COUNT_BEYOND
Upload = "對不起,文件總數不得超過255(Sorry ,the count of the files must not be over 255.)"
Exit Function
Case NO_FILE_UPLOAD
Upload = "對不起,您沒有選擇文件上傳.(Sorry,you have not selected a file to upload.)"
Exit Function
Case PATH_NAME_ERR
Upload = "對不起,路徑必須為絕對路徑.(Sorry,the path must be a absolute path)"
Exit Function
Case Else
Upload = Err.Description

Exit Function
End Select
Else
Upload = "OK"
End If
End Function
'count屬性用于在ASP中獲取上傳表單的個數
Public Property Get count() As Variant
count = lngFieldCount
End Property
'設定上傳文件的大小限制
Public Property Let MaxSize(ByVal lngNewMaxSize As Long)
If IsNumeric(lngNewMaxSize) Then
lngMaxSizex = lngNewMaxSize
Else
lngMaxSizex = 0
End If
End Property
'設定文件上傳的路徑
Public Property Let Path(ByVal varNewPath As String)
If Mid(varNewPath, 2, 1) = ":" Then
varPathx = varNewPath
Else
varPathx = ""
End If
End Property
'設定是否覆蓋原來的文件
Public Property Let OverWrite(ByVal lngNewOverWrite As Integer)
If IsNumeric(lngNewOverWrite) And lngNewOverWrite > 0 And lngNewOverWrite < 3 Then
lngOverWritex = lngNewOverWrite
Else
lngOverWritex = 0
End If
End Property
'此方法用來取得指定表單項的數據大小
Public Function Size(varFormName As String) As Long
Dim i As Long
Size = 0
For i = 0 To lngFieldCount - 1
If allFieldNamex(i) = varFormName Then
Size = allFieldSizex(i)
Exit Function
End If
Next
End Function
'此方法用來取得指定表單項的數據
Public Function Form(varFormName As String) As Variant
Dim i As Long
Form = ""
For i = 0 To lngFieldCount - 1
If allFieldNamex(i) = varFormName Then
Form = allFieldValuex(i)
Exit Function
End If
Next
End Function
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆一精品一av一免费 | 一本到高清视频免费精品| 日韩av一区二区在线影视| 亚洲观看高清完整版在线观看| 最新日韩av在线| **性色生活片久久毛片| 国产午夜亚洲精品不卡| 国产女主播一区| 国产精品久久久久国产精品日日 | 成人三级伦理片| 国产成人在线观看免费网站| 国产91精品免费| 不卡欧美aaaaa| 欧美曰成人黄网| 7777精品伊人久久久大香线蕉经典版下载 | 精品一区二区三区蜜桃| 国产乱妇无码大片在线观看| 国产大片一区二区| 99re6这里只有精品视频在线观看| 99国产一区二区三精品乱码| 欧美亚洲自拍偷拍| 日韩欧美一卡二卡| 久久久久国产精品厨房| 亚洲欧洲成人av每日更新| 一区二区三区在线视频观看| 亚洲成人免费在线| 精品一区二区久久| 99精品久久只有精品| 欧美视频在线播放| 久久久久97国产精华液好用吗| 欧美国产激情一区二区三区蜜月| 亚洲丝袜自拍清纯另类| 偷拍亚洲欧洲综合| 国产精品综合一区二区| 一本到三区不卡视频| 精品国产乱码久久久久久浪潮| 日本一区二区动态图| 亚洲午夜一区二区| 懂色av一区二区三区蜜臀| 色屁屁一区二区| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美不卡视频一区| 综合久久一区二区三区| 日本美女一区二区| 91在线视频网址| 精品国产乱码久久久久久久久 | 欧美日韩极品在线观看一区| 久久久久久99精品| 视频在线在亚洲| heyzo一本久久综合| 欧美一级xxx| 一区二区三区精品视频在线| 国产黄色成人av| 欧美久久久一区| 亚洲欧美韩国综合色| 黄网站免费久久| 欧美区视频在线观看| 亚洲图片激情小说| 国产成人午夜视频| 精品美女一区二区| 日韩影院在线观看| 欧美日韩黄色一区二区| 亚洲美女一区二区三区| 成人午夜免费av| 精品电影一区二区三区| 奇米777欧美一区二区| 在线免费av一区| 亚洲啪啪综合av一区二区三区| 高清在线不卡av| 国产亚洲精品7777| 韩国精品久久久| 久久精品在线观看| 国产乱子伦视频一区二区三区 | 中文字幕五月欧美| 成人性生交大合| 国产精品午夜在线观看| 国产精品91一区二区| 久久久高清一区二区三区| 精久久久久久久久久久| 91精品国产综合久久精品麻豆| 亚洲成人www| 91精品黄色片免费大全| 日韩av在线发布| 日韩免费视频一区| 精品制服美女丁香| 欧美—级在线免费片| 99国产精品国产精品久久| 1000部国产精品成人观看| 色老综合老女人久久久| 亚洲成人tv网| 日韩精品在线网站| 国产精品1区二区.| 中文字幕佐山爱一区二区免费| 色哟哟在线观看一区二区三区| 亚洲精品高清视频在线观看| 欧美日韩国产精品成人| 蜜桃av一区二区| 亚洲国产激情av| 欧美午夜电影一区| 美脚の诱脚舐め脚责91| 久久精品人人做| 99久久精品国产网站| 亚洲国产精品一区二区久久 | 久久精品视频一区| 色悠久久久久综合欧美99| 日韩1区2区3区| 国产亚洲一区二区三区四区| 91热门视频在线观看| 日本不卡一区二区三区| 国产欧美精品日韩区二区麻豆天美| 99re这里只有精品首页| 日韩av中文字幕一区二区| 国产精品美女久久久久av爽李琼| 91国偷自产一区二区使用方法| 美女一区二区三区在线观看| 国产三级精品视频| 欧美吻胸吃奶大尺度电影| 国产美女精品在线| 午夜激情久久久| 国产精品久久久久婷婷| 日韩亚洲国产中文字幕欧美| 99久久婷婷国产综合精品| 老司机免费视频一区二区| 亚洲同性gay激情无套| 久久婷婷久久一区二区三区| 欧美这里有精品| 成人ar影院免费观看视频| 日本视频免费一区| 中文字幕字幕中文在线中不卡视频| 欧美第一区第二区| 欧美日韩一区在线观看| 99久久国产综合精品色伊| 精品一区二区在线看| 亚洲第一狼人社区| 亚洲色图在线视频| 亚洲国产精华液网站w| 337p粉嫩大胆噜噜噜噜噜91av| 欧美无砖专区一中文字| 91视频精品在这里| 成人免费视频app| 国产麻豆视频一区二区| 精品夜夜嗨av一区二区三区| 亚洲国产成人av好男人在线观看| 综合自拍亚洲综合图不卡区| 中文字幕免费在线观看视频一区| 久久久精品日韩欧美| 日韩欧美国产三级| 日韩午夜激情视频| 日韩精品中午字幕| 欧美成人video| 日韩欧美高清在线| 日韩一级精品视频在线观看| 欧美精品一卡二卡| 欧美日韩视频专区在线播放| 色综合天天视频在线观看| a亚洲天堂av| 91色.com| 欧美女孩性生活视频| 欧美性色aⅴ视频一区日韩精品| 91麻豆国产福利在线观看| 99精品久久只有精品| 在线一区二区三区四区| 91精彩视频在线| 欧美日韩国产一级片| 日韩一级欧美一级| 久久久久久久精| 亚洲婷婷国产精品电影人久久| 亚洲另类春色国产| 亚洲图片欧美视频| 麻豆91免费看| 国产福利一区二区三区视频| jlzzjlzz欧美大全| 欧美日韩精品欧美日韩精品| 91麻豆精品国产自产在线| 精品久久一区二区三区| 日本一区二区视频在线| 曰韩精品一区二区| 日韩主播视频在线| 国产精品一区在线观看你懂的| 成人免费视频网站在线观看| 欧美性大战久久久久久久蜜臀| 欧美一区二区网站| 中文字幕精品在线不卡| 午夜精品福利视频网站| 国产一区91精品张津瑜| 在线精品视频免费观看| 欧美精品一区二区三区在线 | 久久婷婷久久一区二区三区| 亚洲色图制服诱惑| 久久99国产精品麻豆| 99re在线精品| 精品毛片乱码1区2区3区| 亚洲欧美视频在线观看| 开心九九激情九九欧美日韩精美视频电影| 国产真实精品久久二三区| 91理论电影在线观看| 精品sm捆绑视频| 亚洲成精国产精品女| 成人美女视频在线观看| 日韩一区二区三|