收藏
回答

image标签缓存图片问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug image 客户端 6.7.3 2.4.0

- 当前 Bug 的表现(可附上截图)

image标签中的网络图片在服务器端更换后,客户端图片并未更新,无论删除小程序还是清理微信缓存都不行。在开发者工具中是可以被更新的。基于http缓存策略,通过设置cache-control:no-store响应头强制关闭缓存也无果


- 预期表现

在服务器关闭缓存策略的情况下,客户端能够实现服务端更改图片后客户端响应更新后的图片

- 复现路径

任意一个服务端图片地址,图片更换后必现


最后一次编辑于  2018-11-06
回答关注问题邀请回答
收藏

5 个回答

  • 江成為
    江成為
    2018-11-07

    结贴 可以了 成功

    2018-11-07
    有用 1
    回复 7
    • 匹特阳
      匹特阳
      2018-11-07

      哥们最终怎么做的,我们也碰到这个问题,求解答,谢谢

      2018-11-07
      回复
    • 江成為
      江成為
      2018-11-07回复匹特阳

      详细请了解http缓存相关的标准,他是跟着http缓存走的

      2018-11-07
      回复
    • 卢霄霄
      卢霄霄
      2018-11-07

      求教,最后怎么设的?

      2018-11-07
      回复
    • 江成為
      江成為
      2018-11-08回复卢霄霄

      看http status code 如果是200 from disk 表示强制缓存 这个时候设置expires off 关闭强制缓存 如果是304 则表示相对缓存 这个时候 只需要设置max-age 过期时间

      2018-11-08
      回复
    • 卢霄霄
      卢霄霄
      2018-11-08回复江成為

      记小本本上了 谢谢

      2018-11-08
      回复
    查看更多(2)
  • 子小习习
    子小习习
    2018-11-06

    关注关注 , 我们服务器图片已经更换了, 小程序图片还是旧的 , 每次更换图片都要重新发包 ,很不合理

    2018-11-06
    有用 1
    回复
  • 星如夜夏
    星如夜夏
    2018-11-07

    每次新图片用不同的网址,前端动态绑定不就好了吗

    2018-11-07
    有用
    回复
  • 追小命
    追小命
    2018-11-06

    这个和你服务器设置的图片缓存expires的时间又关系吧,和cache-control两回事

    2018-11-06
    有用
    回复 4
    • 江成為
      江成為
      2018-11-06

      expires在http1.1中逐渐被替代了

      2018-11-06
      回复
    • 追小命
      追小命
      2018-11-06回复江成為

      实测微信的浏览框架认这个,别的地方逐渐不逐渐有什么关系

      2018-11-06
      回复
    • 江成為
      江成為
      2018-11-06回复追小命

      可是服务器根本就没有设置这个header

      2018-11-06
      回复
    • 江成為
      江成為
      2018-11-06回复追小命


      这是响应报文的截图 http协议为spdy

      2018-11-06
      回复
  • 卢霄霄
    卢霄霄
    2018-11-06

    末尾加个时间戳呢?  "xxxx?t="+new Date().getTime()

    2018-11-06
    有用
    回复 10
    • 江成為
      江成為
      2018-11-06

      都加时间戳了,还做缓存干嘛,目的不是为了让平常正常的时候缓存,更改图片的时候不缓存么

      2018-11-06
      回复
    • 卢霄霄
      卢霄霄
      2018-11-06回复江成為

      那每次带个版本号?

      2018-11-06
      回复
    • 江成為
      江成為
      2018-11-07回复卢霄霄

      不是还得改客户端代码 然后重新打包上传审核吗 这个事情跟客户端没啥关系

      2018-11-07
      回复
    • 卢霄霄
      卢霄霄
      2018-11-07回复江成為

      能给个图片链接吗?

      2018-11-07
      回复
    • 卢霄霄
      卢霄霄
      2018-11-07回复江成為

      不需要重新发包啊。。你弄个接口,返回一个版本号,这个版本号放数据库里,去数据库里改掉就行了。。

      2018-11-07
      回复
    查看更多(5)
登录 后发表内容