macht Ist es möglich, einen Download über eine Schaltfläche auszulösen und AngularJS $http
Dienst im Hintergrund zu verwenden, um die Datei bereitzustellen?
Ich möchte eine einfache Schaltfläche haben, die einen Dateidownload startet, ohne ein neues Fenster zu öffnen. Außerdem muss ich die Authorization
innerhalb der Kopfzeile setzen.
Bisher habe ich dies:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.startDownload = function() {
var auth = ""; //username + password
$http.defaults.headers.common['Authorization'] = auth;
//this will return a file
$http({
method: 'GET',
url: 'https://upload.wikimedia.org/wikipedia/commons/1/1c/FuBK_testcard_vectorized.svg?download'/*,
headers: {
'Authorization': 'Basic efhjwefjfbweikabfkwhfb'
}*/
}).then(function(){
//????
});
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<button type="button" ng-click="startDownload()">Download</button>
</div>
Ich habe den Tippfehler korrigiert. Aber es funktioniert immer noch nicht. Ich habe die Frage aktualisiert und eine vorhandene URL zu einer Bilddatei hinzugefügt. Das Snippet lädt die Datei im Download-Ordner des Benutzers immer noch nicht herunter. – d4rty