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

MIFARE Classic Tool - 安卓NFC门禁卡修改工具

U盾安装及检测不到U盾问题的排查方法

浩方对战平台优化版 V2.05 部分去除浩方广告和弹出窗口

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

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

解决word和excel运行时错误:91未设置对象变量或with block变量

Debian 12上使用Nginx代理TCP流量,并配置IPv6白名单访问控制

利用cgroup对docker进行全局资源限制(CPU, 内存, IO读写等限制)