FileSaver.js不会使用Safari下载PDF

时间:2017-07-10 11:35:57

标签: javascript angularjs safari filesaver.js

我遇到FileSaver.js的问题,我无法在Safari上下载PDF(或PNG或excel文件),但它适用于任何其他网络浏览器。我在控制台中收到错误:'无法加载资源:网络连接丢失。'

奇怪的是,如果Tomcat提供此文件,则不会下载此PDF文件,但如果是提供该文件的Apache,则下载工作正常。

以下是代码示例(我正在使用angular 1.5.8):

$http.get(url, { responseType: 'arraybuffer' })
            .success(function (response) {
                var file = new Blob([response], {type: 'application/pdf'});
                fileSaverService(file, filename);
            });

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题,我正在使用axios打电话(在我的情况下是发帖请求)到下载服务。下面的代码对我有用:

axios.post(url, downloadRequest, {responseType:'blob'})
    .then(response =>{              
        var filename = 'example.zip';
        var blob = new Blob([response.data], {type:"application/octet-stream"});
        saveAs(blob , filename);
    })
    .catch(error => {
        console.error(error);       
    });