Прежде всего, вы не можете «скрыть / не публиковать» ссылку в приложении с веб-технологией (HTML / CSS / JavaScript). Загрузки обрабатываются клиентом, поэтому URL-адрес Download / Link должен быть общедоступным. Вы можете попытаться «скрыть» защитные параметры, например, Идентификаторы в URL-адресе загрузки с использованием бэкэнда, исполняемого языка программирования, такого как «PHP или node.js и т. Д.». Таким образом вы можете создать hash
URL, например http://www.myside.com/download/359FTBW!S3T387IHS
, чтобы скрыть параметры, такие как recordId
в вашем URL-адресе.
Зная это, ваше решение довольно легко. Просто используйте атрибут HTML для загрузки , например link text
, чтобы заставить браузер загружать источник href
. Здесь нет ng-click
. К сожалению, атрибут download
не поддерживается браузером Safari. Это не имеет большого значения, когда браузер обрабатывает загрузку. В зависимости от конфигурации операционной системы пользователей файл будет загружен или открыт непосредственно в программе, установленной в этой системе. Например, файл PDF будет открыт в приложении PDF Viewer, если доступно какое-либо приложение для просмотра PDF.
Я написал Plunker , который обрабатывает ng-href
в контроллере AngularJS $scope
. Я надеюсь, что это то, что вам нужно.
Ваш контроллер:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.fileHref = 'http://www.analysis.im/uploads/seminar/pdf-sample.pdf';
});
Ваш взгляд:
AngularJS Plunker
Download