使用 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>    

我注意到锚标签中可能存在三个错误。

  1. 使用 ng-href 代替 href
  2. 而不是在 download.php 之后使用 {{dLink}}?您使用过 {dLink}
  3. 从 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>  
  1. 添加了 $http 请求,该请求从文本文件中获取密钥,然后将其设置为或范围变量
  2. ng-if 添加到 link,因此当 dLink 为空时 link 不可见