使用AngularJS下载文件

瓦列普韦伦德拉库马尔

我需要提供下载文件的链接,任何用户都必须隐藏该链接并且可以访问该链接,这是我的代码,没有任何错误,但是我什至无法打开下载对话框:

模板

 <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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章