2017-08-02 2 views
0

Ich bin sehr neu in AngularJS. Ich brauche Hilfe, um aus der unten genannten Situation herauszukommen. Ich versuche eine PDF-Datei in einem neuen Tab auf Knopfdruck zu öffnen. Der Code, an dem ich arbeite, ist unten. Der neue Tab öffnet sich nicht. Jede Anleitung wird sehr geschätzt.AngularJS PDF in neuem Tab öffnen

$http.get('/api/services/downloadpdf/' + scope.invoice.id, { responseType: 'arraybuffer' }).then(function (response) { 
    var file = new Blob([response.data], { type: 'application/pdf' }); 
    file.name = 'invoice.pdf'; 
    var fileUrl = URL.createObjectURL(file); 
    $window.open(fileUrl); 
}); 

Antwort

0

Wenn Sie Datei-Link haben wie diese geben, in html

<a target="_target" href="invoice.pdf" role="button">View</a> 

In Controller verwenden diese

$http.get('/api/services/downloadpdf/' + scope.invoice.id, { responseType: 'arraybuffer' }).then(function (response) { 
    var file = new Blob([response.data], { type: 'application/pdf' }); 
    file.name = 'invoice.pdf'; 
    var fileUrl = URL.createObjectURL(file); 
    $window.open(fileUrl, '_blank'); 
}); 
0

Sie können versuchen, mit dem Code folgende

var fileName = response.headers('content-name'); 
var blob = new Blob([response.data], {type: 'application/pdf'}); 
var url = window.URL.createObjectURL(blob); 

linkElement.setAttribute('href', url); 
linkElement.setAttribute("download", fileName); 

var clickEvent = new MouseEvent("click", { 
     "view": window, 
     "bubbles": true, 
     "cancelable": false 
}); 
linkElement.dispatchEvent(clickEvent); 
Verwandte Themen