我是一个新手,当用户点击下载选项时,我希望文件能够被下载而不是在浏览器中打开。我参考了相关资料,发现大多数建议使用
download
属性来实现此功能。
Response.AddHeader("Content-disposition", "attachment; filename=" + Name);
但我不知道在哪里和如何使用。 实际上,我正在从查询中获取url值,该查询返回存储在arraylist中的bean对象之一作为url(此列表还具有其他值)。 我将url值作为bean放入arraylist中,如下所示:
type=.pdf
release date=12/3/08
name=hai.pdf
url=/files/en/soft/doc/docs/hai.pdf
在我的控制器中,我会像这样获取这个数组列表:
ArrayList details = dao.getdetails(Bean.getNumber());
将其传递给视图,可以像这样:
并将其传递到视图中
Map.put("details", details);
modelView.setViewName("details_list");
modelView.addAllObjects(Map);
return modelView;
在JSP中,我已经迭代了这个ArrayList并显示了如下内容:
Type name Release Date
.txt hai.pdf May 21st 2012 Download
.txt hello.txt May 21st 2012 Download
在jsp中,我使用以下方式进行下载:
<td colspan="2" valign="top">
<a href="${details.Url}"/>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a>
</td>
当我点击下载时,文件会在浏览器中打开。我需要让它直接下载,而不是在浏览器中打开。请帮我解决如何使用或处理该问题。
response.setHeader("Content-Disposition", "attachment;");
请问我应该在哪里添加上述内容以满足我的需求,或者是否可以使用任何JavaScript来完成。请帮我解决以上问题。