Извлечь JPG из ответа MIME? - PullRequest
       54

Извлечь JPG из ответа MIME?

1 голос
/ 25 апреля 2019

Я использую удаленный WebService, но не могу извлечь файл jpg, содержащийся в ResponseBody.Фактически я сохраняю файл, но как я могу удалить заголовки 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

Я получаю следующий ResponseText,Мне кажется, что тип контента - это application / binary, может быть, поэтому я получаю изображение таким образом ??

--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??

Однако, используя мыльный онлайн-клиент, я получаю прикрепленный ответ (Если я нажмуна красном имени я получаю jpg !!!).

Ответ клиента OnLine SOAP

Как они это делают?

...