Angularjs 文件下载在Safari中不起作用?

Angularjs 文件下载在Safari中不起作用?,angularjs,safari,Angularjs,Safari,我开发了一个带有PDF文件下载功能的angular JS web应用程序。它在Safari中不起作用 $http({ method: 'GET', url: common.serviceUrl(config.apiServices.usermanuals), params: { manualId: manualId }, responseType: 'arraybuffer' }).success(function (dat

我开发了一个带有PDF文件下载功能的angular JS web应用程序。它在Safari中不起作用

$http({
        method: 'GET',
        url: common.serviceUrl(config.apiServices.usermanuals),
        params: { manualId: manualId },
        responseType: 'arraybuffer'
    }).success(function (data, status, headers, config) {
        headers = headers();
        //var test = headers('Content-Disposition');
        var filename = headers['x-filename'];
        var contentType = headers['content-type'];

        var linkElement = document.createElement('a');
        try {
            var blob = new Blob([data], { type: contentType });
            var url = window.URL.createObjectURL(blob);

            linkElement.setAttribute('href', url);
            linkElement.setAttribute("download", filename);

            var clickEvent = new MouseEvent("click", {
                "view": window,
                "bubbles": true,
                "cancelable": false
            });
            linkElement.dispatchEvent(clickEvent);
        } catch (ex) {
            console.log(ex);
        }
    }).error(function (data) {
        console.log(data);
    });
请帮我找到解决方法。谢谢

尝试使用

*数据来自api响应


*filename您可以传递为
abc.pdf

“它在Safari中无法正常工作”这是什么意思?@zeroflagL问题修改您只删除了一个单词,但仍然没有解释您的意思。是否收到任何错误?“[object BlobConstructor]”不是构造函数(正在评估“new Blob([data],{type:contentType})”)
var file = new Blob([data], { type: 'application/pdf;charset=utf-8' });
FileSaver.saveAs(file, filename);