Safari不支持HTML5保存功能

时间:2016-03-02 04:07:29

标签: javascript angularjs html5 safari servicestack

我们使用AngularJS和ServiceStack编写了一个应用程序,可以从基于AngularJS的HTML客户端中单独下载各种文档和从服务器下载zip文件。 AngularJS / Javascript应用程序能够使用REST调用调用服务器端代码,并获取二进制数据并在客户端上组装blob对象,并使用HTML5 W3C saveAs()触发客户端保存文件。 blob的content-type设置为application / octet-stream。此功能在Chrome,FireFox,Opera甚至IE和Edge中都能正常运行。

然而,Safari抛出一个异常,说“无法加载资源:帧加载中断”。是否有一个工作的Javscript或AngularJS示例用于Safari,有人可以与我共享,这将允许我汇集从服务器端流式传输的blob二进制数据?

以下是代码片段:

        var arr = results.data;
        var byteArray = new Uint8Array(arr);
        var blob = new Blob([byteArray], { type: 'application/octet-stream' });
        var outputFileName = "somefilename.zip";
        saveAs(blob, outputFileName);

我们还尝试了几种尝试减轻浏览器差异的Javascript框架,如下所示:

  1. Download.Js(http://danml.com/download.html
  2. FileSaver.js(https://github.com/eligrey/FileSaver.js/
  3. 他们都没有为Safari工作。

    我们陷入困境,我们需要弄清楚如何处理Safari用户。我正在使用Safari版本9.0.x,如果这有帮助。任何在Safari中工作的代码示例都将深受赞赏!

    约翰

0 个答案:

没有答案