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

快乐来自于做出「舍弃」的能力

如何提高情商(EQ)

SolveigMM Video Splitter - 无损视频编辑工具(视频剪辑,合并等)

地方门户网站项目可行性分析

小清新必须死

南京话的文化杂文一篇

《请回答1988》 응답하라 1988 Reply 1988

《挪威的森林》精彩篇章:永远记得我

PSP3000破解问世

POPSLoader v3 - PSP模拟PS游戏解决黑屏用的加载插件