建立下载本地文件的链接

时间:2011-12-23 15:50:36

标签: java spring-mvc download

在我的项目(Java SpringMVC3)中,我通过HttpClient获取了一个XLS文件,我想要下载该文件,就像它是真正的下载一样。弹出窗口显示下载对话框。 我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

Controller应该将文件内容复制到响应对象。别忘了 - 控制器函数必须返回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;

答案 1 :(得分:1)

基本上,您需要实现一个负责下载的Controller,并指定响应的header-mime类型。然后从视图中调用该控制器。

以下是如何指定header-mime类型的简短示例

HTTP Header Mime Type in Websphere Application Server 7