我是新来的java.I需要下载pdf/txt/.xls或任何文件上点击下载选项。 在我的情况下,我有数组列表中的某些值,并在jsp中显示。 以我列表(名称列表)IAM具有如何从url下载文件? (不在浏览器中打开)
name=rahul
url=files/en/software/rahul.txt
name=roshan
url=files/en/software/roshan.pdf
当我迭代(名称列表),并显示在JSP以上,我在我的jsp
<td valign="top">${namelist.name}</td>
<td colspan="2" valign="top">
<a href="${namelist.url}"/>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/>
</td>
所以在具有许多用户的名称的我的JSP IAM并在url中为它们提供相应的文件。 点击下载文件是在浏览器中打开的URL http://www.xxx.com/files/en/software/roshan.pdf
但我想这是打开作为弹出窗口要求用户保存为/打开选项。 当把这个url传递给控制器时,我只获得/files/en/software/roshan.pdf的值。 我已经搜索了相同的地方,他们建议使用 response.setHeader(“Content-Disposition”,“attachment; filename =”+ name);
,所以我创建了一个名为下载控制器和下载的请点击我这样映射
<a href='<c:url value="/download.sp?name=${namelist.name}&downloadUrl=${namelist.url}"/>'>
<img src="/images/download.gif" alt="Download" border="0" align="right"></a><br/><br/>
在这里,在我的控制器的URL。 我唐诺究竟做了什么,我已经写了这样
public ModelAndView download(HttpServletRequest request, HttpServletResponse response) throws Exception {
cat.debug(" download: begin");
ModelAndView modelView = super.handleRequest(request, response);
String url = request.getParameter("downloadUrl");
String name = request.getParameter("name");
response.setHeader("Content-Disposition", "attachment;filename="+name);
String viewName = "swl_download";
modelView.setViewName(viewName);
return modelView;
}
与同name.I以上是打开弹出要添加更多的控制器,使其下载点击该文件应该是相同的文件在URL(什么包括/在上述控制器中更改)。 请帮我解决这个问题。谢谢我提前帮助我。
你是否得到下载文件名为swl_download? –
看一下链接:[File-download-servlet](http://www.coderanch.com/t/366358/Servlets/java/File-download-servlet)。你可以用servlet本身来做,你不需要使用spring mvc。 – Elbek
@subirkumarsao:该代码是例如获取下载文件名称为rahul.txt,但如何获得与rahul有关的网址中的文件?请帮帮我。 – Rahul