收藏
回答

wx.previewImage有本地缓存机制吗?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.previewImage 微信安卓客户端 8.0.42 2.30.4

https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html

wx.previewImage({

current: 'https://xxx/img/code.jpg', // 当前显示图片的http链接

urls: ['https://xxx/img/code.jpg'] // 需要预览的图片http链接列表

})

代码中写的是一个死链接指向服务器的图片A,但是我现在将图片A删除了换成了图片B,wx.previewImage打开的还是图片A

回答关注问题邀请回答
收藏

5 个回答

  • 微盟
    微盟
    2023-10-17

    图片A和图片B链接一致的情况下,由于微信加载图片会对静态资源进行缓存(缓存时间取决于和服务器之间的约定,强制缓存或协商缓存

    参考MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Caching

    解决方案可以在图片url 上添加随机参数如 https://a.com/code.jpg?t=1

    2023-10-17
    有用 1
    回复 1
    • Jasper
      Jasper
      2023-10-17
      感谢感谢
      2023-10-17
      回复
  • 彬犇犇。
    彬犇犇。
    01-15

    请问解决了么?

    01-15
    有用
    回复
  • 启年
    启年
    2023-10-17

    同地址肯定有缓存的

    2023-10-17
    有用
    回复 1
    • Jasper
      Jasper
      2023-10-17
      好的
      2023-10-17
      回复
  • 零²⁰²⁴
    零²⁰²⁴
    2023-10-17

    图片链接如果一样,是会有缓存的,可以在后面加上随机参数

    2023-10-17
    有用
    回复 3
    • Jasper
      Jasper
      2023-10-17
      老哥知道这个缓存时效是多长吗,会失效不
      2023-10-17
      回复
    • 零²⁰²⁴
      零²⁰²⁴
      2023-10-17回复Jasper
      不好说,会失效的
      2023-10-17
      回复
    • Jasper
      Jasper
      2023-10-17回复零²⁰²⁴
      好的感谢
      2023-10-17
      回复
  • optimistic
    optimistic
    2023-10-17

    检查代码或者图片,是不是图片没改对

    2023-10-17
    有用
    回复 3
    • Jasper
      Jasper
      2023-10-17
      代码没有动的,服务器上图片A跟图片B都叫code.jpg,问题是图片A已经被我删除了,wx.previewImage还是能打开
      2023-10-17
      回复
    • optimistic
      optimistic
      2023-10-17回复Jasper
      同个名字肯定有缓存的,而且微信缓存不讲理,最好是命名不同的名字以后,现在可以加随机数试试或者删除小程序重新扫码
      2023-10-17
      回复
    • Jasper
      Jasper
      2023-10-17回复optimistic
      那我还是写成动态链接吧,omg
      2023-10-17
      回复
登录 后发表内容