HTML:
<a href="mysite.com/uploads/asd4a4d5a.pdf" download="foo.pdf">
当数据库中保留真实姓名时,上传将获得唯一的文件名。我想实现一个简单的文件下载。但由于以下原因,上面的代码重定向到/:
$routeProvider.otherwise({ redirectTo: '/', controller: MainController });
我尝试过
$scope.download = function(resource){ window.open(resource); }
但这只是在新窗口中打开文件。
有什么想法如何为任何文件类型启用真正的下载吗?
https://docs.angularjs.org/guide/$location#html-link- rewriting
在以下情况下,链接不会被重写;相反,浏览器将执行整页重新加载到原始链接。 包含目标元素的链接示例: <a href="/ext/link?a=b" target="_self">link</a> 转到其他域的绝对链接示例: <a href="http://angularjs.org/">link</a> 以’/’开头的链接在定义base时导致不同的基本路径示例: <a href="/not-my-base/link">link</a>
在以下情况下,链接不会被重写;相反,浏览器将执行整页重新加载到原始链接。
包含目标元素的链接示例: <a href="/ext/link?a=b" target="_self">link</a>
<a href="/ext/link?a=b" target="_self">link</a>
转到其他域的绝对链接示例: <a href="http://angularjs.org/">link</a>
<a href="http://angularjs.org/">link</a>
以’/’开头的链接在定义base时导致不同的基本路径示例: <a href="/not-my-base/link">link</a>
<a href="/not-my-base/link">link</a>
因此,在您的情况下,应添加目标属性,例如…
<a target="_self" href="example.com/uploads/asd4a4d5a.pdf" download="foo.pdf">