скачать файл с блобом в угловой - PullRequest
0 голосов
/ 27 августа 2018

Я новичок в Angular, и мне нужно добавить кнопку в приложение, чтобы при нажатии оно начинало загрузку уже записанного файла.

у меня есть этот код

var _RecordStopCallback = function(blob){
            if (!blob && blob.length==0){
                $scope.isRecorded = false;
                return;
            }
            $scope.recordObj.recordedData = blob;
            const url = URL.createObjectURL(blob);
              var el = $("#downloads").html("");
              var hf = $("<a></a>");
              hf.attr({
                  src:url,
                  href:url,
                  download:$scope.recordFilename
              }).html($scope.recordFilename);
              hf.appendTo(el);
              $scope.isStoping = false;
            $scope.recordStatus = false;
            $scope.isRecorded = true;
            $scope.recordStatusText = "Start";
            $scope.streamError = "";
            _changeStatusText();
            $scope.$apply();
            $scope.saveProcess();

и в файле HTML это:

<div ng-show="isRecorded" class="color-info"> Recorded File : <span id='downloads'></span> 
<button ng-click="{{recordFilename}}" class="btn-circle btn-circle-default">
<i class="zmdi zmdi-download"></i></button> 

эта строка:

<span id='downloads'></span> 

отображает перекодированныйимя файла и делает его ссылкой, поэтому когда вы нажимаете на него, вы можете напрямую загрузить его, но я не знаю, как заставить кнопку делать то же самое?

любая помощь будет принята!

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете зарегистрировать обратный вызов для нажатия кнопки, и там вы можете создать ту же ссылку, которую вы указали в своем вопросе, стилизовать ее как скрытую, вставить ее в DOM и вызвать .click() на ней.Требуется вставка в DOM, так как некоторые браузеры не начнут загрузку в противном случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...