收藏
回答

顽固的图片文件缓存!?

用wx.previewImage预览图片,图片地址在云存储空间,如:cloud://云空间/images/pic1.jpg,cloud://云空间/images/pic2.jpg

真机调试一次后,想换张图片,但不想改文件名,比如:删除云存储中的pic2.jpg,将另一个图片文件改名成pic2.jpg,然后上传。

问题来了,真机调试或者直接在微信中打开开发版的小程序预览图片,显示的都是第一次上传的那一张,在微信中清了缓存也没用,

在小程序中调用删除本地缓存文件,取到的列表是空的,在小程序列表中删除小程序,在“发现”-“小程序”中删除相关小程序,重启手机,

各种折腾,结果一样的让人崩溃,还是显示最初的那一张,把显示的文件名改成pic3.jpg,立马就换成新的图片了,但只要一改回pic2.jpg

又会显示第一次上传图片,现在没做的就是删除微信数据这一招,但这一招肯定是不能用的,这跟重装微信有什么区别,有些数据还是

不能删除的,我就想问问高手们如何删除缓存文件?搞几天了都搞不定。。。

另外:开发工具刚开始也会这样,后来点了:清缓存-全部清除,就可以了,从这来看应该是手机(微信)端少了“清除文件缓存”功能。

   //获取该小程序下已保存的本地缓存文件列表

   wx.getSavedFileList({

     success(res) {

       console.log('本地缓存文件:', res)

       if (res.fileList.length > 0) {

         wx.removeSavedFile({

           filePath: res.fileList[0].filePath,

           complete(res) {

             console.log('删除本地缓存文件:', res)

           }

         })

       }

     }

   })



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

5 个回答

  • 珠宝壹佰-公瑾
    珠宝壹佰-公瑾
    10-29

    可以参考这篇文章:微信小程序图片缓存策略

    10-29
    赞同
    回复
  • "
    09-06

    CDN的问题 试一下 ...xxx.jpg?tamp=时间戳

    09-06
    赞同
    回复
  • จุ๊บ
    จุ๊บ
    09-06

    不改文件名,那就跟微信刚吧,谁赢了告诉我们

    09-06
    赞同
    回复
  • 管凯旋
    管凯旋
    09-06

    文件名后面加个时间戳呢

    09-06
    赞同
    回复 4
    • 红萝卜炒鸡蛋
      红萝卜炒鸡蛋
      09-06
      我不想改文件名
      09-06
      回复
    • 管凯旋
      管凯旋
      09-06回复红萝卜炒鸡蛋
      那就在代码里面改啊
      09-06
      回复
    • 红萝卜炒鸡蛋
      红萝卜炒鸡蛋
      09-06回复管凯旋
      就是不想改程序嘛,当然可以把文件名放在数据库中动态读出,但这样会影响到速度。
      09-06
      回复
    • 管凯旋
      管凯旋
      09-06回复红萝卜炒鸡蛋
      额,那你啥都不改就是会有缓存嘛。。。这种文件缓存不光是客户端会有,服务端也可能会有缓存,所以你想着在客户端直接清除有点想多了
      09-06
      回复
  • 祺爸💎
    祺爸💎
    09-06

    改文件名

    09-06
    赞同
    回复 2
    • 红萝卜炒鸡蛋
      红萝卜炒鸡蛋
      09-06
      我知道改文件名可以,但我就是不想改文件名啊。
      09-06
      回复
    • 祺爸💎
      祺爸💎
      09-06回复红萝卜炒鸡蛋
      呵呵,微信也就是不想清缓存,就看你能不能刚过微信了
      09-06
      回复
问题标签