我是新來的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