我有Spring 2.5.6,并且正在尝试实现一些愚蠢的功能。
我的服务器上某处有一个照片目录,我想向用户显示这些照片。此问题的常见解决方案是什么?
附言
现在,我正在使用自己的控制器将照片写到响应中,这对我来说不是很方便,因为我想保持照片的URL友善(例如/myServlet/images/012345.jpg
)。
最佳答案
拥有自己的控制器是一个很好的解决方案。这是我的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)