如何用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

《活法》作者:[日]稻盛和夫 pdf下载

Microsoft 365安装包下载(Office桌面应用)

解决部分网站禁止复制内容的js脚本(无需安装插件)

使用AdGuard的公共dns屏蔽广告

麦当劳免费Wifi帐号密码及连接设置

你恨你的亲人吗?

中兴ZTE H618B 路由器固件刷机备忘

google voice 无限短信接口程序

月光宝盒 - 提供网站数据备份服务

MD大战略2 德国闪击战 中文汉化版