Javascript angularjs:下载的文件名为;“未知”;使用Safari
已在Safari中下载文件,文件名为“未知” 这是我的下载代码 函数下载csv(csv,文件名){ var downloadContainer=angular.element(“”), 内容='数据:附件/csv',+编码URI(csv) 但是使用Safari下载该文件是“未知”文件。是否有解决此问题的方法。 顺便说一句-什么版本的Safari不支持下载功能Javascript angularjs:下载的文件名为;“未知”;使用Safari,javascript,angularjs,safari,Javascript,Angularjs,Safari,已在Safari中下载文件,文件名为“未知” 这是我的下载代码 函数下载csv(csv,文件名){ var downloadContainer=angular.element(“”), 内容='数据:附件/csv',+编码URI(csv) 但是使用Safari下载该文件是“未知”文件。是否有解决此问题的方法。 顺便说一句-什么版本的Safari不支持下载功能 谢谢您是否指定了文件的扩展名?是的,调用以保存名为“myDownLoadFile.csv”的文件Safari 9.x版不支持下载功能,因此
谢谢您是否指定了文件的扩展名?是的,调用以保存名为“myDownLoadFile.csv”的文件Safari 9.x版不支持下载功能,因此这里是解决方法:downloadLink.attr('target','u blank');
// var downloadLink = angular.element('<a></a>'),
var downloadLink = angular.element(downloadContainer.children()[0]),
blob = new Blob([csv], {
type: 'text/csv;charset=utf-8;'
});
if (window.navigator.msSaveOrOpenBlob) {
// download file for IE
navigator.msSaveBlob(blob, filename);
}
else {
downloadLink.attr('href', content);
downloadLink.attr('download', filename);
downloadLink.attr('style', 'display: none');
// workaround for Safari version that not supporting download feature.
downloadLink.attr('target', '_blank');
angular.element(document).find('body').append(downloadContainer);
// need timeout here since appending DOM takes some time
$timeout(function() {
downloadLink[0].click();
downloadLink.remove();
}, 10);
}
}
downloadCSV(cvs, 'myDownloadFile.csv')