青青热久免费精品视频在线18_欧美日韩一区二区三区四区_亚洲精品免费在线看_精品香蕉一区二区三区

您現在的位置: 中國農業人才網 >> 職場資訊 >> 黑板報 >> 正文

在ASP中模擬form上傳文件(以multipart/form-data編碼)

2012-3-31 本站原創
<%
Public Const adTypeBinary = 1
Public Const adTypeText = 2
Public Const adLongVarBinary = 205

'字節數組轉指定字符集的字符串
Public Function BytesToString(vtData, ByVal strCharset)
    Dim objFile
    Set objFile = Server.CreateObject("ADODB.Stream")
    objFile.Type = adTypeBinary
    objFile.Open
    If VarType(vtData) = vbString Then
        objFile.Write BinaryToBytes(vtData)
    Else
        objFile.Write vtData
    End If
    objFile.Position = 0
    objFile.Type = adTypeText
    objFile.Charset = strCharset
    BytesToString = objFile.ReadText(-1)
    objFile.Close
    Set objFile = Nothing
End Function

'字節字符串轉字節數組,即經過MidB/LeftB/RightB/ChrB等處理過的字符串
Public Function BinaryToBytes(vtData)
    Dim rs
    Dim lSize
    lSize = LenB(vtData)
    Set rs = Server.CreateObject("ADODB.RecordSet")
    rs.Fields.Append "Content", adLongVarBinary, lSize
    rs.Open
    rs.AddNew
    rs("Content").AppendChunk vtData
    rs.Update
    BinaryToBytes = rs("Content").GetChunk(lSize)
    rs.Close
    Set rs = Nothing
End Function

'指定字符集的字符串轉字節數組
Public Function StringToBytes(ByVal strData, ByVal strCharset)
    Dim objFile
    Set objFile = Server.CreateObject("ADODB.Stream")
    objFile.Type = adTypeText
    objFile.Charset = strCharset
    objFile.Open
    objFile.WriteText strData
    objFile.Position = 0
    objFile.Type = adTypeBinary
    If UCase(strCharset) = "UNICODE" Then
        objFile.Position = 2 'delete UNICODE BOM
    ElseIf UCase(strCharset) = "UTF-8" Then
        objFile.Position = 3 'delete UTF-8 BOM
    End If
    StringToBytes = objFile.Read(-1)
    objFile.Close
    Set objFile = Nothing
End Function

'獲取文件內容的字節數組
Public Function GetFileBinary(ByVal strPath)
    Dim objFile
    Set objFile = Server.CreateObject("ADODB.Stream")
    objFile.Type = adTypeBinary
    objFile.Open
    objFile.LoadFromFile strPath
    GetFileBinary = objFile.Read(-1)
    objFile.Close
    Set objFile = Nothing
End Function

'XML Upload Class
Class XMLUploadImpl
Private xmlHttp
Private objTemp
Private strCharset, strBoundary

Private Sub Class_Initialize()
    Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
    Set objTemp = Server.CreateObject("ADODB.Stream")
    objTemp.Type = adTypeBinary
    objTemp.Open
    strCharset = "GBK"
    strBoundary = GetBoundary()
End Sub

Private Sub Class_Terminate()
    objTemp.Close
    Set objTemp = Nothing
    Set xmlHttp = Nothing
End Sub

'獲取自定義的表單數據分界線
Private Function GetBoundary()
    Dim ret(24)
    Dim table
    Dim i
    table = "ABCDEFGHIJKLMNOPQRSTUVWXZYabcdefghijklmnopqrstuvwxzy0123456789"
    Randomize
    For i = 0 To UBound(ret)
        ret(i) = Mid(table, Int(Rnd() * Len(table) + 1), 1)
    Next
    GetBoundary = "__NextPart__ " & Join(ret, Empty)
End Function 

'設置上傳使用的字符集
Public Property Let Charset(ByVal strValue)
    strCharset = strValue
End Property

'添加文本域的名稱和值
Public Sub AddForm(ByVal strName, ByVal strValue)
    Dim tmp
    tmp = "\r\n--$1\r\nContent-Disposition: form-data; name=""$2""\r\n\r\n$3"
    tmp = Replace(tmp, "\r\n", vbCrLf)
    tmp = Replace(tmp, "$1", strBoundary)
    tmp = Replace(tmp, "$2", strName)
    tmp = Replace(tmp, "$3", strValue)
    objTemp.Write StringToBytes(tmp, strCharset)
End Sub

'設置文件域的名稱/文件名稱/文件MIME類型/文件路徑或文件字節數組
Public Sub AddFile(ByVal strName, ByVal strFileName, ByVal strFileType, vtValue)
    Dim tmp
    tmp = "\r\n--$1\r\nContent-Disposition: form-data; name=""$2""; filename=""$3""\r\nContent-Type: $4\r\n\r\n"
    tmp = Replace(tmp, "\r\n", vbCrLf)
    tmp = Replace(tmp, "$1", strBoundary)
    tmp = Replace(tmp, "$2", strName)
    tmp = Replace(tmp, "$3", strFileName)
    tmp = Replace(tmp, "$4", strFileType)
    objTemp.Write StringToBytes(tmp, strCharset)
    If VarType(vtValue) = (vbByte Or vbArray) Then
        objTemp.Write vtValue
    Else
        objTemp.Write GetFileBinary(vtValue)
    End If
End Sub

'設置multipart/form-data結束標記
Private Sub AddEnd()
    Dim tmp
    'tmp = Replace("\r\n--$1--\r\n", "$1", strBoundary)
        tmp = "\r\n--$1--\r\n" 
        tmp = Replace(tmp, "\r\n", vbCrLf) 
        tmp = Replace(tmp, "$1", strBoundary)
    objTemp.Write StringToBytes(tmp, strCharset)
    objTemp.Position = 2
End Sub

'上傳到指定的URL,并返回服務器應答
Public Function Upload(ByVal strURL)
    Call AddEnd
    xmlHttp.Open "POST", strURL, False
    xmlHttp.setRequestHeader "Content-Type", "multipart/form-data"
    xmlHttp.setRequestHeader "Content-Length", objTemp.size
    xmlHttp.Send objTemp
        If VarType(xmlHttp.responseBody) = (vbByte Or vbArray) Then 
            Upload = BytesToString(xmlHttp.responseBody, strCharset) 
        End If
End Function
End Class
%>
在包含該文件后用以下代碼調用
VB code
Dim UploadData
Set UploadData = New XMLUploadImpl
UploadData.Charset = "gb2312"
UploadData.AddForm "Test", "123456" '文本域的名稱和內容
UploadData.AddFile "ImgFile", "F:\test.jpg", "image/jpg", GetFileBinary("F:\test.jpg")'圖片或者其它文件
Response.Write UploadData.Upload("http://localhost/receive.asp") 'receive.asp為接收頁面
Set UploadData = Nothing




本文地址:http://www.lizu2010.com/news/n08/201203/6925.html,如要轉載,請注明轉載自中國農業人才網
文章錄入:希望的田野    責任編輯:耕農 
【字體: 】【打印此文】【關閉窗口
相關文章
    沒有相關文章
中國農業人才網及旗下網站 版權所有 2003- © | 關于我們 | 聯系我們 | 服務條款 | 服務價格 | 付款方式 | 幫助中心 | 網站地圖

中國農業人才網及旗下網站為您提供畜牧人才種植人才農資人才食品人才等求職招聘服務

青青热久免费精品视频在线18_欧美日韩一区二区三区四区_亚洲精品免费在线看_精品香蕉一区二区三区
亚洲欧美日韩电影| 国产精品免费区二区三区观看| 亚洲无限av看| 亚洲精品在线视频观看| 一区二区三区在线观看欧美| 国产精品伊人日日| 国产精品大全| 欧美日韩四区| 欧美日本三区| 欧美精品在线免费观看| 欧美成人精品1314www| 久久精品国产精品亚洲综合| 亚洲深夜影院| 亚洲深爱激情| 亚洲婷婷国产精品电影人久久| 日韩视频在线你懂得| 亚洲欧洲精品一区二区精品久久久| 精品成人a区在线观看| 国产在线精品一区二区中文| 国产欧美日韩精品a在线观看| 国产精品久久久久77777| 欧美午夜电影完整版| 欧美日韩妖精视频| 欧美日韩在线三区| 欧美日韩一区二区免费视频| 欧美久久久久久久久| 欧美国产日韩一二三区| 欧美韩日亚洲| 欧美日韩精品伦理作品在线免费观看 | 国内精品视频在线观看| 国产日韩欧美综合精品| 国产香蕉久久精品综合网| 国产欧美在线播放| 国一区二区在线观看| 影音先锋久久精品| 亚洲啪啪91| 国产精品99久久久久久有的能看| 一区二区91| 午夜精品一区二区三区电影天堂 | 亚洲色图自拍| 亚洲自拍电影| 久久av老司机精品网站导航| 久久久噜噜噜久噜久久| 欧美jizzhd精品欧美喷水 | 欧美日韩精品福利| 欧美午夜一区二区| 在线视频你懂得一区| av成人免费在线| 午夜激情久久久| 久久精品二区三区| 男女视频一区二区| 欧美日韩在线三区| 国产一区二区精品久久99| 亚洲国产mv| 亚洲视频精选| 久久九九精品99国产精品| 欧美88av| 国产精品高潮在线| 韩国精品主播一区二区在线观看| 亚洲国产高清一区二区三区| 亚洲最新在线视频| 香蕉视频成人在线观看| 久久蜜桃精品| 欧美日韩伊人| 国产一区二区三区在线观看免费视频 | 激情亚洲网站| 日韩视频专区| 久久9热精品视频| 欧美精品在线免费播放| 国产精品五月天| 亚洲国产精品视频一区| 中日韩美女免费视频网站在线观看| 欧美一区二区视频网站| 欧美国产免费| 国产日韩精品视频一区二区三区| 亚洲国产精品一区二区久 | 欧美激情视频一区二区三区免费| 国产精品国产三级国产aⅴ9色| 国产一区视频网站| 9国产精品视频| 久久婷婷av| 国产精品麻豆成人av电影艾秋| 伊人夜夜躁av伊人久久| 亚洲一二区在线| 美女黄网久久| 国产欧美日韩一区| 日韩一级精品| 久久久久久久久久久久久女国产乱| 欧美区在线观看| 国产一区二区三区奇米久涩 | 国产日韩免费| 99v久久综合狠狠综合久久| 久久久国产亚洲精品| 欧美日韩综合一区| 亚洲福利视频一区| 香蕉成人伊视频在线观看| 欧美激情麻豆| 一区二区三区在线看| 亚洲一区在线看| 欧美精品一区二区久久婷婷| 国产自产精品| 亚洲男人av电影| 欧美日韩黄视频| 亚洲国产三级| 久久久久国色av免费看影院 | 国产综合视频在线观看| 亚洲自拍偷拍网址| 欧美成人一区二免费视频软件| 国产日韩欧美在线视频观看| 亚洲视频精品在线| 欧美精品尤物在线| 亚洲国产精品福利| 久久久久久久久综合| 国产香蕉97碰碰久久人人| 亚洲欧美国产日韩天堂区| 欧美偷拍一区二区| 亚洲精品视频一区| 可以免费看不卡的av网站| 国产精品视频观看| 亚洲一区bb| 欧美午夜精品理论片a级按摩| 日韩视频免费观看高清在线视频 | 欧美制服丝袜第一页| 国产精品久久久久aaaa| 亚洲毛片在线看| 欧美国产综合视频| 亚洲国产精品久久久久婷婷884| 久久福利影视| 国产日韩欧美| 久久成人这里只有精品| 国产一区二区福利| 午夜在线视频观看日韩17c| 国产精品九色蝌蚪自拍| 亚洲视频www| 国产精品国产亚洲精品看不卡15 | 亚洲精品久久7777| 欧美激情亚洲精品| 91久久在线播放| 欧美成人中文字幕在线| 亚洲剧情一区二区| 欧美人交a欧美精品| 日韩亚洲欧美一区| 欧美日韩一区二区三区四区在线观看 | 欧美日韩大片| 99热在这里有精品免费| 欧美日韩免费看| 洋洋av久久久久久久一区| 欧美日韩久久久久久| av72成人在线| 欧美午夜在线观看| 亚洲欧美日本国产专区一区| 国产日产欧产精品推荐色| 久久国产精品色婷婷| 韩国av一区二区三区| 久久综合国产精品| 亚洲人成网站色ww在线| 欧美日韩三级视频| 亚洲欧美精品| 狠狠色丁香婷婷综合影院| 美女视频黄 久久| 亚洲精品日韩精品| 欧美日韩在线观看视频| 亚洲欧美日韩在线一区| 精品不卡一区二区三区| 欧美成人中文| 亚洲无吗在线| 国产一区二区三区在线免费观看| 久久久蜜桃一区二区人| 亚洲黄网站黄| 国产精品av久久久久久麻豆网| 亚洲欧美日韩专区| 精品动漫av| 欧美乱大交xxxxx| 亚洲欧美日本国产有色| 一区二区三区在线高清| 欧美欧美天天天天操| 亚洲欧美在线一区二区| 黄网站免费久久| 欧美日韩国产不卡| 性做久久久久久久久| 1769国产精品| 欧美日精品一区视频| 久久久久国产一区二区| 日韩午夜黄色| 国产一区二区日韩精品欧美精品| 欧美 日韩 国产 一区| 亚洲一区免费| 在线成人av| 欧美日韩国产在线播放| 欧美一区综合| 亚洲毛片av| 韩曰欧美视频免费观看| 欧美精品激情| 欧美综合二区| 日韩亚洲欧美中文三级| 国产区在线观看成人精品| 欧美成人亚洲成人| 亚洲在线观看免费视频| 在线日韩中文| 国产精品视频观看| 欧美黑人在线观看| 欧美一区二区精品在线| 亚洲精品综合在线| 国内精品视频一区|