如何用VB接受xmlHttp传输过来的数据

我用vb xmlHttp做了个文件传输的例子,自觉是个挺值得看的例子,所以贴出来和大家一起交流一下。

xml结构:

 

文件以二进制方式存在这里

下面开始

Private Sub CreateAndTranXML() 

Dim ado_stream As New ADODB.Stream

Dim xml_dom As New MSXML2.DOMDocument30

Dim strA As String, szFile As String, m_szUpFile As String

m_szUpFile = "http://127.0.0.1/getupFile.asp" ‘server端的ASP接受程序

szFile = App.Path & "temp.jpg" '要传送的jpg文件或任何文档

strA = " "

xml_dom.loadXML (strA)

xml_dom.documentElement.setAttribute "xmlns:dt", "urn:schemas-microsoft-com:datatypes"

Dim l_node1

Set l_node1 = xml_dom.createElement("file1") '建立一个节点

l_node1.dataType = "bin.base64"

ado_stream.Type = 1 ' 1=adTypeBinary

ado_stream.open

ado_stream.LoadFromFile (szFile)

l_node1.nodeTypedValue = ado_stream.Read(-1) ' -1=adReadAll

ado_stream.Close

xml_dom.documentElement.appendChild (l_node1)

xml_dom.save App.Path & "result.xml" '本地保存一个备份

'可以创建多个二进制节点,一次上传多个文件

' 把XML文档发送到Web服务器

Dim xmlHttp As New MSXML2.XMLHTTP30

xmlHttp.open "POST", m_szUpFile, False

xmlHttp.setRequestHeader "CONTENT-TYPE", "text/xml"

xmlHttp.send xml_dom

' 显示服务器返回的信息

Debug.Print xmlHttp.responseText

If xmlHttp.Status = 200 Then

MsgBox ("上传成功!")

End If

Set xmlHttp = Nothing

Set xml_dom = Nothing

End Sub

GetUpFile.asp(Server端的)

<%    Dim ado_stream    Dim oXmlDom     Dim xml_file1,m_szpath         Set oXMLDoc = Server.CreateObject("Microsoft.XMLDOM")     szPath=server.mappath("getupfile.asp")    nPos=instrRev(szPath ,"")    m_szPath=left(szPath

评论

Popular Posts

随身WiFi折腾指南: 解锁、刷机与DIY

90个你不知道的冷门知识及精彩点评

PHPWind 文件及数据结构相关文档

金山PDF教育版(WPS PDF独立版)

其实所有的电影都很枯燥

盾之勇者成名录 盾の勇者の成り上がり (2019)

解决Ubuntu桌面上Free Download Manager无法打开的问题

好好生活·享受幸福

mihomo各平台客户端下载(windows, android, macos)

WPS Office教育考试专用版