![]() |
1
14
是的,我在IE中通过XHR读取二进制数据的答案是使用VBScript注入。起初,这让我很反感,但是,我把它看作是更多依赖于浏览器的代码。
(常规的XHR和responseText在其他浏览器中运行良好;您可能必须强制mime类型为
这就是我如何得到一个像
我使用的读取二进制文件的JS类公开了一个有趣的方法,
这个 conversion code 由Miskun提供。 非常快,效果很好。
|
![]() |
2
11
|
![]() |
3
3
我建议另外两个(快速)选项:
为了进行比较,通过循环进行逐字节转换需要 几分钟 对于同一个500kB文件,很简单:)在我一直使用的代码下面,插入到您的头中。然后调用函数 ieGetBytes 用你的xhr.responseBody。
|
![]() |
4
1
非常感谢这个解决方案。VbScript中的BinaryToArray()函数对我来说非常有用。 顺便说一句,我需要二进制数据来提供给Applet(不要问我为什么小程序不能用于下载二进制数据。长话短说。。奇怪的MS身份验证无法通过小程序(URLCON)调用。尤其是当用户在代理背后时,情况更为奇怪) 小程序需要一个来自此数据的字节数组,因此我要做的是:
然后可以将字节数组转换为bytearrayinputstream以进行进一步处理。 |
![]() |
5
1
我试图下载一个文件,然后使用CAPICOM.DLL对其进行签名。我能做到这一点的唯一方法是注入一个VBScript函数来完成下载。这就是我的解决方案:
|
![]() |
6
1
我发现这个链接很有用: 特别是本部分:
我已将此添加到我的htm页面。
IE8、IE9、IE10、FF&铬。 |
![]() |
7
1
您还可以创建一个代理脚本,该脚本指向您请求的地址&就这样。然后,您只需向代理脚本传递一个查询字符串,该脚本告诉您地址。但在IE中,您必须在JS中手动执行base64。但如果您不想使用VBScript,这是一种方法。 下面是发挥神奇作用的PHP脚本:
|
![]() |
Rachel Dockter · 如何从其他网站获取特定div内容 7 年前 |
![]() |
Glafuski · 为什么readyState==0不起作用 7 年前 |
![]() |
CoqPwner · 如何设置XMLHttpRequest的响应 7 年前 |