Grails提供的图像浏览器缓存

Grails提供的图像浏览器缓存,grails,caching,Grails,Caching,我有一个控制器操作,它从数据库读取一个图像并将其提供给客户端: def profilePicture() { def profilePicture = ProfilePicture.get(1) response.setHeader("Content-disposition", "attachment; filename=1.png") response.contentType = "PNG" response.outputStream << prof

我有一个控制器操作,它从数据库读取一个图像并将其提供给客户端:

def profilePicture() {
    def profilePicture = ProfilePicture.get(1)
    response.setHeader("Content-disposition", "attachment; filename=1.png")
    response.contentType = "PNG"
    response.outputStream << profilePicture.profilePicture
    response.outputStream.flush()
}
def profilePicture(){
def profilePicture=profilePicture.get(1)
setHeader(“内容处置”、“附件;文件名=1.png”)
response.contentType=“PNG”

response.outputStream实际上,有一个名为Grails的插件,它将处理所有需要的缓存和etag生成,这样浏览器就不会在文件未修改且在配置的缓存周期内请求下载该文件


如果您通读文档并花时间测试您的配置,那么它的使用非常简单。

实际上,有一个名为Grails的插件,它将处理所有需要的缓存和etag生成,以便浏览器在未修改文件且在您配置的缓存周期内不会请求下载文件。


如果您通读文档并花时间测试您的配置,它的使用非常简单。

我对这个主题不是100%的了解,但似乎客户机也有点重要,它只是一个
img
标记,还是您显式地调用了控制器?它只是一个
img
标记这不是grails方面的工作,请尝试检查您的
img
标记的
src
是否使用了请求参数或REST样式的URL。后者更适合于浏览器缓存。我对这方面的知识不是100%,但客户端似乎也有点重要,它只是
img
标记还是您明确地使用的调用控制器?它只是一个
img
标记。更改标记,它不是grails端的工作尝试此操作还检查
img
标记的
src
是否使用请求参数或REST样式的URL。后者更适合浏览器缓存。它是否适用于静态图像?我正在尝试修复Image Expires标记。“您的站点没有为图像使用expires标题。expires标记可以帮助定期访问您的站点并看到相同图像的用户加快网页的服务速度。“它是否适用于静态图像?我正在尝试修复Image expires标记。”您的站点没有为图像使用expires标题。expires标记可以帮助定期访问您的站点并查看相同图像的用户加快网页的服务速度。”