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