我需要提供下载文件的链接,任何用户都必须隐藏该链接并且可以访问该链接,这是我的代码,没有任何错误,但是我什至无法打开下载对话框:
模板
<a ng-href="#" target="page" type="button" class="btn"
ng-click="download()">Download</a>
脚本文件
$scope.download = function(){
//here i need to know the code,can anybody explain me
}
首先,您不能“隐藏/不公开”基于Web的技术(HTML / CSS / JavaScript)应用程序中的链接。下载是由客户端处理的,因此Download / Link-URL必须是公共的。您可以通过使用后端执行的编程语言(例如“ PHP或node.js等”)来尝试“隐藏”诸如下载URL中的ID之类的保护性参数。这样,您可以创建hash
网址,例如http://www.myside.com/download/359FTBW!S3T387IHS
隐藏网址中的参数recordId
。
通过了解这一点,您的解决方案非常简单。只需使用HTML属性下载像<a href="http://mydownloadurl" download>link text</a>
强制浏览器下载href
源。没有ng-click
这里需要。不幸的download
是,Safari浏览器不支持该属性。当浏览器正在处理下载本身时,这并不重要。根据用户系统OS的配置,文件将被下载或直接在该系统上安装的程序中打开。例如,如果某些pdf查看器应用程序可用,则会在PDF Viewer中打开PDF文件。
我写了一个在AngularJS控制器中处理的Plunker。我希望这是您所需要的。ng-href
$scope
您的控制器:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.fileHref = 'http://www.analysis.im/uploads/seminar/pdf-sample.pdf';
});
您的看法:
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script data-require="[email protected]" src="https://code.angularjs.org/1.3.14/angular.js" data-semver="1.3.14"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<a ng-href="fileHref" download="yourFilename">Download</a>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句