【发布时间】:2017-06-08 08:11:24
【问题描述】:
如何通过单击按钮从 Angular 中触发 csv 文件下载?
后端是php路由。
我尝试了动态添加锚标记并将其附加到其 href 属性的解决方案,即从 http 请求获取后的 csv 文件内容。但它对我不起作用......而且由于我们将 csc 内容附加到 href 属性,我担心 href 的长度允许多少内容。
【问题讨论】:
标签: javascript angularjs csv download
如何通过单击按钮从 Angular 中触发 csv 文件下载?
后端是php路由。
我尝试了动态添加锚标记并将其附加到其 href 属性的解决方案,即从 http 请求获取后的 csv 文件内容。但它对我不起作用......而且由于我们将 csc 内容附加到 href 属性,我担心 href 的长度允许多少内容。
【问题讨论】:
标签: javascript angularjs csv download
在摆弄了现有的答案之后,我尝试了以下方法并且它的工作。
使用角度 1.5.9
我通过将 window.location 设置为 csv 文件下载 url 使它像这样工作。经过测试,可与最新版本的 Chrome 和 IE11 配合使用。
角度
$scope.downloadStats = function downloadStats{
var csvFileRoute = '/stats/download';
$window.location = url;
}
html
<a target="_self" ng-click="downloadStats()"><i class="fa fa-download"></i> CSV</a>
在 php 中为响应设置以下标头:
$headers = [
'content-type' => 'text/cvs',
'Content-Disposition' => 'attachment; filename="export.csv"',
'Cache-control' => 'private, must-revalidate, post-check=0, pre-check=0',
'Content-transfer-encoding' => 'binary',
'Expires' => '0',
'Pragma' => 'public',
];
【讨论】:
text/cvs 或 text/csv?