在我的项目(Java SpringMVC3)中,我通过HttpClient获取了一个XLS文件,我想要下载该文件,就像它是真正的下载一样。弹出窗口显示下载对话框。 我怎么能这样做?
答案 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类型的简短示例