2011-12-23 51 views
0

在我的项目(Java SpringMVC3)中,我通过HttpClient获得了一个XLS文件,我希望下载这个文件,就像它是一个真正的下载文件。显示下载对话框的弹出窗口。 我该怎么做?创建链接以下载本地文件

+0

这两个答案都很有用。我用了第一个。 – yyy 2012-01-21 17:02:24

回答

2

控制器应该复制文件来响应对象的内容。别忘了 - 控制器函数必须返回NULL。下面我从我的应用程序中显示一个工作示例:

String filename = /* path to a file */ 

File file = new File(filename); 

response.setContentType(new MimetypesFileTypeMap().getContentType(file)); 
response.setContentLength((int)file.length()); 
response.setHeader("content-disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8")); 

InputStream is = new FileInputStream(file); 
FileCopyUtils.copy(is, response.getOutputStream()); 

return null; 
+0

为什么我们需要最后两行? InputStream is = new FileInputStream(file); FileCopyUtils.copy(is,response.getOutputStream()); – Sridhar 2015-02-19 13:27:56

相关问题