2017-06-18 100 views
0

我需要生成链接,然后一次下载链接。我有一个生成和下载按钮,一旦点击了,我必须调用API来生成PDF的下载链接,然后使浏览器打开弹出保存项目。与JS下载文件按钮

  <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> 

谢谢大家!

回答

1

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

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

谢谢塞巴斯蒂安,这完美! – AleXzpm

2

了可以使用

window.location.href= url_to_download;