如何使用HTTP协议使用IE9下载文件

How to download files using IE9 with HTTP protocol

我想在没有任何重定向的情况下使用 IE9 下载(任何类型的)文件。通过重定向,我的意思是提供我尝试下载的资源的 URL 到当前文档,如果 MIME 类型不是文档类型,则强制下载。


所以我只能使用 XHR 对象获取数据并找到一种方法将其保存在磁盘上。由于我使用的是IE9,所以无法使用IE10+提供的任何文件API。

所以忘了:


现在我正在 REST 调用后获取数据并尝试将其写入文档中,如下所示 post:Javascript Save CSV file in IE 8/IE 9 without using window.open()

但是,问题是 document.write() 似乎以 UCS-2 对写入其中的任何内容进行编码,因此从后端发送的二进制文件被重新解释,文件被损坏。我猜那时只能保存基于文本的文件。

最后一点,我不应该使用闪光灯。

有没有人想到解决编码问题或其他技术来进行下载?

如果有帮助,我正在使用angularjs作为前端JS框架

由于我们的限制,将令牌作为参数传递以获取文件可下载资源是解决方案。当我们提升IE时,我们将改变解决方案。

这意味着删除任何安全链过滤器并在后端对令牌进行手动验证。