在jsp中我有链接 - 类似于/showImage?n=999;
在servlet中,我通过休息接收图像,以便获得一个对象java.io.File
。接下来,我从文件中获取数组byte[]
并将其发送到OutputStream
servlet
。
以上工作但图像不缓存。请注意,在休息服务器中,我使用CacheControl
和ResponseBuilder
将maxAge
设置为private(false)
。
在浏览器中打开图像(通过servlet)时,有responce header
Connection:Keep-Alive
Content-Length:6615
Content-Type:image/jpg
Date:Tue, 03 Jan 2017 10:12:25 GMT
Keep-Alive:timeout=15, max=89
Server:Apache-Coyote/1.1
是否可以设置从rest
服务收到时缓存的图像?
来自rest
控制器的一些代码
File file = new File(path);
CacheControl cc = new CacheControl();
cc.setMaxAge(86400);
cc.setPrivate(false);
ResponseBuilder builder = Response.ok( file );
builder.cacheControl(cc);
builder.header("Content-Disposition", "attachment; filename = flower.jpg");
return builder.build();