用JS下载文件按钮

时间:2017-06-18 12:17:17

标签: javascript angularjs api

我需要生成链接,然后一次下载链接。我有一个用于生成和下载的按钮,一旦点击,我必须调用api生成pdf的下载链接,然后打开浏览器弹出保存项目。

            <button type="button" class="btn btn-success btn-block" ng-click="generateAndDownloadPdf()"><i
                class="fa fa-plus"></i>Generate and download invoice</span></button>

我的js控制器功能如下:

            $scope.generateAndDownloadPdf = function(){
             //getting download url from api
            api.events.invoice.download($stateParams.eventId, $stateParams.speakerId).then(function(data){
                console.log(data)
                //give url to user

            });

        }

我知道,一旦我有下载网址,我就可以使用这个HTML代码,但是想知道我是否可以为用户点击一下。

            <a
           target="_self"
           href="download.url"
           download="file.pdf">
            <button type="button" class="btn btn-success btn-block" ng-click=""><i
                    class="fa fa-plus"></i>Download Invoice</span></button>
        </a>

谢谢大家!

2 个答案:

答案 0 :(得分:2)

您可以使用这种方式强制下载方法“generateAndDownloadPdf”,

var anchor = document.createElement('a');
anchor.href = data.downloadUrl;
anchor.target = '_blank';
anchor.download = data.fileName;
anchor.click();

答案 1 :(得分:2)

您可以使用

window.location.href= url_to_download;