UPDATE:
ich eine Gesamtarbeits Lösung gefunden habe, und im Gegensatz zu der alten Antwort, es funktioniert auf IE und FF:
var blob = new Blob([response], {type: 'text/json'});
// FOR IE:
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob);
}
// For Other browsers (tested on Chrome, FF)
else{
var e = document.createEvent('MouseEvents'),
a = document.createElement('a');
a.download = filename;
a.href = window.URL.createObjectURL(blob);
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':');
e.initEvent('click', true, false, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
}
Alte Antwort:
Dank topless um mich zu einer richtigen Antwort zu führen. Hier ist, wie ich es funktionierte:
myService.exportData().$promise.then(function (response) {
var anchor = angular.element('<a/>');
anchor.attr({
href: 'data:attachment/json,' + encodeURI(JSON.stringify(response)),
target: '_blank',
download: 'exported logs.log'
})[0].click();
})
Auch, jetzt muss ich nicht die Header auf der API-Seite. res.send(myFileText)
funktioniert gut!
HINWEIS: ARBEITEN IN IE NICHT & SAFARI
Welche Anforderungstyp ist es? Wenn es GET ist, versuche das Download-Attribut für einen Link zu verwenden. – dfsq
GET, POST hat nicht funktioniert. Attribut herunterladen? –