我正在尝试在 Angular 应用程序中创建一个下载链接,使模型中的数据可作为 CSV 文件下载。除了实际的下载链接外,我一切正常。使用 filesaver.js 会破坏 Karma 中的单元测试,所以我正在探索手动进行。
下面是我所拥有的。在控制器中:
var blob = new Blob([data.join('\n')], {type: 'text/csv;charset=utf-8'});
$scope.downloadUrl = URL.createObjectURL(blob);
在视图中,我有:
<a ng-href="{{downloadUrl}}" download="ttester.csv" id="download">Download</a>
问题是这会在 Firefox 20 中打开一个新页面,其 URL 为“unsafe:blob:af775c64-dcb1-864a-8eaa-adebe7f101a7”,注意“unsafe:”前缀。删除该前缀可以正确下载数据,但没有我想要的文件名。
我的超链接中缺少什么以使其正常工作?我希望它会打开一个文件名为 tester.csv 的下载对话框。
非常感谢任何帮助