【问题标题】:Angular Requesting a csv file download url, and force downloadAngular 请求 csv 文件下载 url,并强制下载
【发布时间】:2017-06-08 08:11:24
【问题描述】:

如何通过单击按钮从 Angular 中触发 csv 文件下载?

后端是php路由。

我尝试了动态添加锚标记并将其附加到其 href 属性的解决方案,即从 http 请求获取后的 csv 文件内容。但它对我不起作用......而且由于我们将 csc 内容附加到 href 属性,我担心 href 的长度允许多少内容。

【问题讨论】:

    标签: javascript angularjs csv download


    【解决方案1】:

    在摆弄了现有的答案之后,我尝试了以下方法并且它的工作。

    使用角度 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/cvstext/csv?
    猜你喜欢
    • 2013-06-20
    • 2018-11-08
    • 2014-07-23
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 2022-08-04
    • 2011-01-18
    • 2011-08-28
    相关资源
    最近更新 更多