如何下载文件而不是在浏览器中打开它(Firefox)?

时间:2014-03-11 09:01:49

标签: angularjs angularjs-directive download angularjs-scope angularjs-ng-repeat

我正在使用AngularJS。我想在页面中将文件列为<a>标记。单击它时,应下载相应的文件。

我正在尝试以下代码,

<div ng-repeat="file in files">     
    <a target="_self" download="{{file.name}}" 
     ng-href="{{file.path}}/{{file.name}}">{{file.name}} </a>
</div>

file.path 应该与此http:///localhost/Download类似,然后使用 Apache http服务器虚拟主机配置,我将从实际位置访问该文件。

<VirtualHost *:80>
 ServerName localhost

 Alias /Download "D:/Download"
<Directory "D:/Download">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>

文件按预期列出。

但是点击它时,网址会被重定向到该文件路径并在浏览器中显示,而不是下载文件。

它在Chrome下载但未在Firefox中工作(重定向到文件位置并在浏览器中显示)

我怎么了?

我是否需要修改任何设置?

1 个答案:

答案 0 :(得分:0)

尝试

<a download="{{file.name}}" ng-href="{{file.path}}/{{file.name}}">{{file.name}}</a>

或只是

<a download ng-href="{{file.path}}/{{file.name}}">{{file.name}}</a>

有关download属性的详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download