我得到了 Spring 2.5.6,我正在尝试在其中实现一些愚蠢的功能。
我的服务器计算机上有一个照片目录,我想向用户公开这些照片。此问题的常见解决方案是什么?
附注
现在,我正在使用自己的 Controller 将照片写入响应,这对我来说不是很方便,因为我想保持照片的网址美观且友好(例如 /myServlet/images/012345. jpg
)。
最佳答案
拥有自己的 Controller 是一个很好的解决方案。这是我的 PictureController
的简化副本:
@RequestMapping("/pictures/{filename}.{extension}")
public void getPicture(@PathVariable String filename,
@PathVariable String extension, OutputStream outputStream,
HttpServletResponse response) {
DateTime cachePeriod = new DateTime();
cachePeriod = cachePeriod.plusDays(5);
response.setDateHeader("Expires", cachePeriod.getMillis());
pictureService.writePicture(filename + "." + extension, outputStream);
}
其中 pictureService
只是执行 IOUtils.copy(imageStream, outputStream)
关于java - Spring中的非静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8553686/