我想从服务器下载一个 pdf 文件。我正在使用tomcat。并在struts2中开发应用程序。
在我的jsp代码中,下载链接如下:
<td>
<a href='<s:url action='downloadPdf'> </s:url>'>
Download PDF</a>
</td>
我的 struts.xml 是:
<action name="downloadPdf" class="com.stp.portal.view.SearchServicePortlet" method="downloadPdf">
</action>
动作类是:
public void downloadPdf() throws Exception
{
HttpServletResponse response = null;
try
{
response.setContentType ("application/pdf");
File f = new File ("D:\\abc.pdf");
response.setHeader ("Content-Disposition", "attachment;filename=abc.pdf");
InputStream inputStream = new FileInputStream(f);
ServletOutputStream servletOutputStream = response.getOutputStream();
int bit = 256;
int i = 0;
try
{
while ((bit) >= 0)
{
bit = inputStream.read();
servletOutputStream.write(bit);
}
}
catch (Exception ioe)
{
ioe.printStackTrace(System.out);
}
servletOutputStream.flush();
inputStream.close();
}
catch(Exception e)
{
}
}
public String generateGraph() throws Exception
{
return "success";
}
}
我的问题是当我单击下载链接时,文件未下载。abc.pdf文件在本地D盘里面。不知道哪里出了问题。如果有人可以帮助我,我将不胜感激。
提前致谢。