Gibt es eine Möglichkeit, eine Datei herunterzuladen, wenn ich auf eine Datei mit ng-click
klicke? Hier ist, was ich jetzt habe:Laden Sie eine Datei herunter, während Sie auf den Link href klicken?
<a ng-href="../api/rest/admin/v1/syncsessions/export?fileKey={{syncObject.sourceFiles}}">Download file</a>
Dies scheint gut zu funktionieren. Das Problem ist jedoch, wenn ich auf die href
klicke, werde ich auf eine Seite mit der URL weitergeleitet. Als Ergebnis will, muss ich so etwas wie dies tun:
<a ng-click="getExportFiles({{syncObject.sourceFiles}})">Download File</a>
Wo getExportFiles als so definiert:
var baseSyncUrl = "../api/rest/admin/{{path.version}}/syncsessions";
var exportSyncFileReq = {method: "GET", url: baseSyncUrl + "/export", params: {fileKey: ""}, path: {version: "v1"}};
$scope.getExportFiles = function(fileKey) {
var req = exportSyncFileReq;
req.params.fileKey = fileKey;
var data = RESTCaller.getConfig(req);
data.then(function(result) {
if(result) {
return result;
}
})
}
innerhalb Ergebnis Enthalten die Verknüpfung zu der Datei ist, zum Beispiel wäre es https://<insertURL>
sein, da RESTCaller
packt meine promise
nach dem Aufruf der exportSynceFileReq
API aus. Das Problem ist, wenn ich ng-click
mache, passiert nichts. Die Datei wird nicht heruntergeladen. Wenn ich das tue
<a ng-href="{{getExportFiles(syncObject.sourceFiles)}}">Download File</a>
Ich bekomme eine unendliche Digest-Schleife. Gibt es einen Weg, wo ich einfach auf einen Link klicken, meine API aufrufen und die Datei dann automatisch herunterladen kann, ohne auf eine andere Seite umzuleiten? Jede Hilfe wäre willkommen. Vielen Dank!
Das funktioniert fast actaully! Wenn ich 'link.download = result 'lege, erhalte ich einen Fehler, der die Datei herunterlädt, aber sie sagt leider" Failed - No file "Irgendeinen Grund, warum das passieren würde? – user1871869
EDIT: Eigentlich repariert es. Vielen Dank! – user1871869
Dies funktioniert für mich in Chrome, aber nicht in IE. Es gibt auch keine Fehler. Irgendwelche Ideen, warum es in IE nicht funktionieren würde? – BelgoCanadian