我有一个servlet,它提供了一个CSV
文件供下载:
@RestController
@RequestMapping("/")
public class FileController {
@RequestMapping(value = "/export", method = RequestMethod.GET)
public FileSystemResource getFile() {
return new FileSystemResource("c:\file.csv");
}
}
这个很好用。
问:我如何提供这个文件作为压缩文件?(zip,gzip,tar不重要)?
3条答案
按热度按时间5vf7fwbs1#
基于解决方案here(对于普通的
Servlet
),您还可以使用基于Spring MVC的控制器执行相同的操作。我们基于响应
OutputStream
创建了一个ZipOutputStream
(可以简单地将其注入到方法中),然后为压缩出来的流创建一个条目并写入它。除了
OutputStream
,您还可以连接HttpServletResponse
,以便能够设置文件名和内容类型。wsewodh22#
未经测试,但类似的东西应该工作:
6qfn3psc3#
使用此:
@请求Map(值= "/zip ",生成="应用程序/zip ")
这可能会解决您的问题