gpt4 book ai didi

jQuery ajax SOAP 多部分响应 pdf

转载 作者:行者123 更新时间:2023-12-01 05:59:57 25 4
gpt4 key购买 nike

我正在使用 data:xmlContent-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?感谢您的帮助。

还要注意这一点:http://www.w3.org/TR/SOAP-attachments#SOAPReferenceToAttachements

更新:经过一番研究,总结了许多不同的回应,我遇到了以下问题:

  • Ajax - jquery .ajax() 函数 - 仅处理文本/xml 响应,这就是为什么它不处理二进制数据(在某处读取)。但是,如果我得到多部分 -> Content-Type: application/pdf -> 我正在获取其中的二进制数据。
  • 二进制数据可以转换为 base64,然后使用 html5 数据:-> 但这会带来复杂的问题,每个浏览器的行为都不同。

现在,我的结论是:

  • 只需发出 ajax 请求,获取 URL 路径并使用 window.location.href 直接从服务器下载文件

如果我错了,请纠正:jQuery Ajax 无法处理多部分 MIME 响应?

最佳答案

AJAX使用UTF-8编码,因此不支持二进制数据传输。您需要对二进制数据进行 Base64 编码,然后在另一端对其进行解码。您需要相应地设置标题。

Content-Transfer-Encoding: base64
Content-Description: somefile.pdf
Content-Disposition: attachment;
filename="somefile.pdf"

....then your Base-64 data blob ...

关于jQuery ajax SOAP 多部分响应 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com