ボタンを使用してダウンロードを開始し、AngularJS $http
サービスをバックグラウンドで使用してファイルを提供することはできますか?
新しいウィンドウを開くことなくファイルのダウンロードを開始する簡単なボタンが必要です。さらに、ヘッダの内側にAuthorization
を設定する必要があります。これは
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>
私はタイプミスを修正しました。しかし、それはまだ動作していません。私は質問を更新し、既存のURLを画像ファイルに追加しました。スニペットはまだユーザーのダウンロードフォルダにファイルをダウンロードしていません。 – d4rty