我想在我的网站上放置一个下载链接,以便用户可以下载文件template.csv
。该文件是静态的,位于我的/grails-app/assets
文件夹的根目录。
在page.gsp
内,我尝试了两种方法,但无济于事:
<a href="assets/template.csv" download="template.csv">Download the template</a>
template.csv
个文件,但内容是page.gsp
的html代码,而不是我在资产中上传的文件的原始内容。<a href="${assetPath(src: "template.csv", absolute: true)}" download="template.csv">Download the template</a>
localhost:8080/mysite/assets/template.csv
的链接,但点击它会提示错误消息:Failed - no file
。做我想做的事的正确方法是什么?我是否需要添加额外权限才能下载我的文件?
我们的网络应用程序依赖于相当古老的技术堆栈:
答案 0 :(得分:1)
我在使用-tag直接下载文件时遇到了一些麻烦。
为了解决这个问题,我使用Controller方法返回文件并将可下载文件放在web-app /下的自己的文件夹中:
<td>
@if (@Model.DevEUI == "D1")
{
<span>K School</span>;
}
@if (@Model.DevEUI == "96")
{
<span>BSNL OFFICE</span>;
}
else
{
<span>NA</span>;
}
</td>
只需使用常规的a-tag链接到此控制器方法即可。 这样您还可以更好地控制文件下载。