javascript - 用JS下载文件按钮

标签 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 Controller 函数如下所示:

            $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

            });

        }

我知道一旦我有了下载 url,我就可以使用这个 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>

谢谢大家!

最佳答案

您可以在“生成下载 Pdf”方法中用这种方式强制下载,

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

关于javascript - 用JS下载文件按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614867/

相关文章:

javascript - javascript可以从MVC中获取值(value)吗?

javascript - 附加 JQuery 元素和 Angular

javascript - 如何像 jQuery RemoveAll() 一样删除 angularJS 中的数组元素?

python - 在 YouTube V3 API 上突然获得 Oauth 2.0 同意的 403(禁止访问)

php - Zend框架中的inet_pton()调用问题

javascript - Laravel Blade 中基于属性值的条件语句

javascript - 启动一些顶点/三 Angular 形供顶点着色器使用

javascript - Protractor : Read Table contents

angularjs - 如何使用 ng-if 测试变量是否已定义

php - Github API ...在移动/重命名文件上获取源文件名