使用 angularjs 自动生成下载 link
auto generate download link with angularjs
我从这个脚本
生成我的下载link
https://github.com/joshpangell/single-use
例如:
下载 url 生成如下:
http://cloud.joshpangell.com/singleuse/download.php?key=key580e36b2ce7ff2.31652971&i=0
每次我通过 cronjob 生成密钥时,都将密钥保存在 text.txt 上,如下所示:
key580e36b2ce7ff2.31652971
所以我的问题是如何在按钮下载中包含生成的密钥。
我是新手,请举例说明。
这是我的请求示例:
<html ng-app="dApp">
<head>
<meta charset="utf-8">
<title>Download file</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.min.js"></script>
<script>
var dApp = angular.module('dApp', []);
dApp.controller('dCtrl', function ($scope){
$scope.dLink = 'text.txt';
});
</script>
</head>
<body ng-controller="dCtrl">
<a class= 'btn btn-primary' href="'/su/pathproduct/download.php?{dLink}' + '&i=0'">Download</a>
</body>
</html>
我注意到锚标签中可能存在三个错误。
- 使用 ng-href 代替 href
- 而不是在 download.php 之后使用 {{dLink}}?您使用过 {dLink}
- 从 href 中删除单引号和加号
从 text.txt 中提取密钥并将其存储在 $scope.dLink 变量中
记得在锚标签 href 属性中调用变量时使用 ng-href 和两个 {{}}
更新:
$scope.dLink = 'key580e36b2ce7ff2.31652971';
<a class= 'btn btn-primary' ng-href="/su/pathproduct/download.php?key={{dLink}}&i=0">Download</a>
有关 ng-href 的更多信息请查看 Angular 文档
试试这个:
<html ng-app="dApp">
<head>
<meta charset="utf-8">
<title>Download file</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.min.js"></script>
<script>
var dApp = angular.module('dApp', []);
dApp.controller('dCtrl', function ($scope, $http) {
// get a key from the text.txt file
$http.get('text.txt').then(function (response) {
$scope.dLink = response.data;
});
});
</script>
</head>
<body ng-controller="dCtrl">
<a class="btn btn-primary"
ng-if="dLink"
ng-href="/su/pathproduct/download.php?key={{ dLink }}&i=0'">Download</a>
</body>
</html>
- 添加了
$http
请求,该请求从文本文件中获取密钥,然后将其设置为或范围变量
- 将
ng-if
添加到 link,因此当 dLink 为空时 link 不可见
我从这个脚本
生成我的下载linkhttps://github.com/joshpangell/single-use
例如: 下载 url 生成如下:
http://cloud.joshpangell.com/singleuse/download.php?key=key580e36b2ce7ff2.31652971&i=0
每次我通过 cronjob 生成密钥时,都将密钥保存在 text.txt 上,如下所示:
key580e36b2ce7ff2.31652971
所以我的问题是如何在按钮下载中包含生成的密钥。
我是新手,请举例说明。
这是我的请求示例:
<html ng-app="dApp">
<head>
<meta charset="utf-8">
<title>Download file</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.min.js"></script>
<script>
var dApp = angular.module('dApp', []);
dApp.controller('dCtrl', function ($scope){
$scope.dLink = 'text.txt';
});
</script>
</head>
<body ng-controller="dCtrl">
<a class= 'btn btn-primary' href="'/su/pathproduct/download.php?{dLink}' + '&i=0'">Download</a>
</body>
</html>
我注意到锚标签中可能存在三个错误。
- 使用 ng-href 代替 href
- 而不是在 download.php 之后使用 {{dLink}}?您使用过 {dLink}
- 从 href 中删除单引号和加号
从 text.txt 中提取密钥并将其存储在 $scope.dLink 变量中
记得在锚标签 href 属性中调用变量时使用 ng-href 和两个 {{}}
更新:
$scope.dLink = 'key580e36b2ce7ff2.31652971';
<a class= 'btn btn-primary' ng-href="/su/pathproduct/download.php?key={{dLink}}&i=0">Download</a>
有关 ng-href 的更多信息请查看 Angular 文档
试试这个:
<html ng-app="dApp">
<head>
<meta charset="utf-8">
<title>Download file</title>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.min.js"></script>
<script>
var dApp = angular.module('dApp', []);
dApp.controller('dCtrl', function ($scope, $http) {
// get a key from the text.txt file
$http.get('text.txt').then(function (response) {
$scope.dLink = response.data;
});
});
</script>
</head>
<body ng-controller="dCtrl">
<a class="btn btn-primary"
ng-if="dLink"
ng-href="/su/pathproduct/download.php?key={{ dLink }}&i=0'">Download</a>
</body>
</html>
- 添加了
$http
请求,该请求从文本文件中获取密钥,然后将其设置为或范围变量 - 将
ng-if
添加到 link,因此当 dLink 为空时 link 不可见