2017-06-18 58 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;