Vb6 从MIME响应中提取JPG?

Vb6 从MIME响应中提取JPG?,vb6,jpeg,mime,msxml,Vb6,Jpeg,Mime,Msxml,我正在使用远程Web服务,但无法提取ResponseBody中包含的jpg文件。事实上,我确实保存了一个文件,但如何删除Mime头等,以便查看图像 这是我的密码: Sub GetImg(ByVal strUrl As String, ByVal XmlBody As String) Dim objDom As Object Dim objXmlHttp As Object Dim strRet As String Dim aRes() As Byte, fn As

我正在使用远程Web服务,但无法提取
ResponseBody
中包含的jpg文件。事实上,我确实保存了一个文件,但如何删除Mime头等,以便查看图像

这是我的密码:

Sub GetImg(ByVal strUrl As String, ByVal XmlBody As String)
    Dim objDom As Object
    Dim objXmlHttp As Object
    Dim strRet As String
    Dim aRes() As Byte, fn As Integer


' Create objects to DOMDocument and XMLHTTP
    Set objDom = CreateObject("MSXML2.DOMDocument")
    Set objXmlHttp = CreateObject("MSXML2.XMLHTTP")

' Load XML
    objDom.async = False
    objDom.loadXML XmlBody

' Open the webservice
    objXmlHttp.Open "POST", strUrl, False

' Create headings
    objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
    objXmlHttp.setRequestHeader "Accept", "image/jpeg"
    objXmlHttp.setRequestHeader "Content-Length", Len(XmlBody)

' Send XML command
    objXmlHttp.send objDom.xml

' Get all response text from webservice
    strRet = objXmlHttp.responseText

' Get image
    aRes = objXmlHttp.responseBody
    fn = FreeFile
    Open "a.jpg" For Binary As fn
    Put fn, , aRes
    Close fn

' Close objects
    Set objXmlHttp = Nothing
    Set objDom = Nothing 

End Sub
我得到下面的回答。我觉得内容类型是应用程序/二进制,也许这就是为什么我用这种方式获取图像

--MIME_boundaryB0R9532143182121
Content-Type: text/xml
Content-ID: <http://www.borland.com/rootpart.xml>
Content-Location: http://www.borland.com/rootpart.xml
Content-Length: 528
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NS1:Get_TestImageResponse xmlns:NS1="urn:LabLinkIntf-ILabLink">
<return href="cid:1D9766A6-B088-4408-B023-283F7AB6EEB1"/>
</NS1:Get_TestImageResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--MIME_boundaryB0R9532143182121
Content-ID: <1D9766A6-B088-4408-B023-283F7AB6EEB1>
Content-Length: 1035666
Content-Type: application/binary

BM??
——MIME_边界B0R9532143182121
内容类型:text/xml
内容ID:
内容位置:http://www.borland.com/rootpart.xml
内容长度:528
--MIME_边界B0R9532143182121
内容ID:
内容长度:1035666
内容类型:应用程序/二进制
BM??
然而,通过使用在线soap客户端,我得到了附带的答案(如果我点击红色名称,我就得到了jpg!!!)


他们是怎么做的?

而且,请不要开始怀疑我为什么要使用vb6。自2001年以来,该应用程序已安装到500多个客户端。我只需要添加这个小的子例程。响应主体中标题的内容是什么?为什么您的POST图像/jpeg的内容类型是什么?您是否正在提交图像?该标头指定请求正文的格式。如果您向服务器请求图像数据,则应改为在请求中设置Accept标头。您通常不会在响应中接收MIME标头…您需要了解此web服务提供的数据格式,如果需要以jpeg格式返回的二进制图像,则可能需要
Accept:image/jpeg
标题。搜索
content-type vs-accept
以获得解释。而且,请不要开始怀疑我为什么使用vb6。自2001年以来,该应用程序已安装到500多个客户端。我只需要添加这个小的子例程。响应主体中标题的内容是什么?为什么您的POST图像/jpeg的内容类型是什么?您是否正在提交图像?该标头指定请求正文的格式。如果您向服务器请求图像数据,则应改为在请求中设置Accept标头。您通常不会在响应中接收MIME标头…您需要了解此web服务提供的数据格式,如果需要以jpeg格式返回的二进制图像,则可能需要
Accept:image/jpeg
标题。搜索
内容类型vs接受
以获取解释。