Angularjs 文件下载在Safari中不起作用?
我开发了一个带有PDF文件下载功能的angular JS web应用程序。它在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
$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);