gpt4 book ai didi

spring-mvc - 如何将缓存控制 header 添加到 spring mvc 服务的图像

转载 作者:行者123 更新时间:2023-12-02 01:01:08 24 4
gpt4 key购买 nike

我正在尝试在 Spring MVC 中实现二进制内容 Controller 。

它工作正常,但我想将缓存控制 header 添加到响应中。

我检查了这个相关问题:Unable to cache images served by Spring MVC

但它使用的是不同的方法。我想使用这个 requestMapping - 产生注释。到目前为止,这是我所知道的,但我不确定如何使用缓存控制元素设置响应 header 。

@RequestMapping(value="/binaries/**", method = RequestMethod.GET, produces={MediaType.TEXT_PLAIN_VALUE, MediaType.APPLICATION_JSON_VALUE, MediaType.IMAGE_GIF_VALUE,
MediaType.IMAGE_JPEG_VALUE, MediaType.IMAGE_PNG_VALUE})
public @ResponseBody byte[] serveResource(WebRequest webRequest, String uri) throws IOException {
String path = (String)request.getAttribute( HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE );

BinaryFile bf = binaryService.findByUri(path.replaceFirst("/binaries", ""));
if (webRequest.checkNotModified(bf.getLastModifiedDate().toDate().getTime()))
{
return null;
};
return bf.getResource();
}

最佳答案

这个怎么样:

public @ResponseBody byte[] serveResource(WebRequest webRequest, HttpServletResponse response, String uri) throws IOException {
response.addHeader("Cache-Control", "private, max-age=0, no-cache");
// ...

关于spring-mvc - 如何将缓存控制 header 添加到 spring mvc 服务的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28516853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com