我正在使用data:xml
和Content-Type:text/xml
发送jQuery ajax请求并获得以下响应:
--MIME_boundary
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: binary
Content-ID: <SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope> .............</SOAP-ENV:Envelope>
--MIME_boundary
Content-Type: application/pdf
Content-Transfer-Encoding: binary
.... pdf binary data .....
据我所知,响应是带有附件的多部分...但是我如何单独提取soap部分和pdf原始数据部分并使用二进制数据来构建此pdf? Thanx任何帮助。
另请注意:http://www.w3.org/TR/SOAP-attachments#SOAPReferenceToAttachements
更新: 经过一些研究,总结了许多不同的回答,我有以下问题和疑问:
现在,我的结论是:
如果我错了,请更正:jQuery Ajax无法处理多部分MIME响应?
答案 0 :(得分:0)
AJAX使用UTF-8编码,因此它不支持二进制数据传输。您需要对二进制数据进行Base64编码,然后在另一端对其进行解码。您需要相应地设置标题。
Content-Transfer-Encoding: base64
Content-Description: somefile.pdf
Content-Disposition: attachment;
filename="somefile.pdf"
....then your Base-64 data blob ...