【问题标题】:IE11(in Outlook 2016 Desktop Client on Windows 10) - download files not workingIE11(在 Windows 10 上的 Outlook 2016 桌面客户端中)- 下载文件不起作用
【发布时间】:2019-08-08 18:51:09
【问题描述】:

我正在尝试使用以下代码在 IE11(在 Windows 10 上的 Outlook 2016 桌面客户端)中下载文件:

 if (navigator.msSaveBlob) {
     return navigator.msSaveBlob(blob, fileName);
 }

问题是导航器上不存在“msSaveBlob”属性。 注意:这在将 windows10 更新到最新版本:1903 之前一直有效。 还尝试使用这个库:https://github.com/eligrey/FileSaver.js, 但仍然无法正常工作。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    根据 MDN,navigator.msSaveBlob 已过时,不应在任何(生产)环境中使用。

    另一种可能的解决方案是生成一个data:URI,可惜IE11不支持这个...

    因此,(恕我直言)唯一的替代方法是在服务器端生成文件并将其发送到客户端。

    【讨论】:

    • 服务器端生成文件并发送给客户端是什么意思?
    • 您正在尝试在客户端保存大量信息(因此通过浏览器),但此解决方案缺乏支持(请参阅我的答案)。因此,最好让您尝试保存的文件可用并准备好在服务器上下载。例如,如果您想生成并保存图像,最好将该图像存储在服务器上,以便您可以直接下载。
    • 好的,我不确定如何在不使用浏览器的情况下下载文件。我将文件保存在服务器端。
    • 我的文件在内存中,不是保存在服务器端的文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多