解决wx.previewImage 或wx.previewMedia 图片预览,存在缓存,还是之前旧的图片
发布于 3 年前 作者 wei42 2067 次浏览 来自 分享

问题描述

更新云存储的照片,重新获取临时链接后,拿给wx.previewImage预览时,(或 wx.previewMedia ),最后都是旧图片。

点击头像预览:

这个可能是微信小程序的bug,官方建议更新图片的话可以更新下地址。但是我的业务需求是更换用户头像,用户可以自己上传头像,借助「将本地资源上传至云存储空间,如果上传至同一路径则是覆盖写」可以实现用户换头像时候自动替换云存储之前的头像,节省空间花费。

解决方法

在图片URL后面加上参数,让图片URL区分度更加大,比如

https://xxxxxxxxx.tcb.qcloud.la加上参数:https://xxxxxxxxx.tcb.qcloud.la?time=12345667

举例:加上时间戳:

let new_url = res.fileList[0].tempFileURL + "?time=" + Date.now()  
//"https://xxxxxxxxx.tcb.qcloud.la?time=1620740814088"

注:加上参数后不影响图片显示。

参考文档

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/storage/Cloud.getTempFileURL.html

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/storage/uploadFile/client.uploadFile.html

本人按照上面的方法解决了问题,由于水平有限,文章内容肯定有不当之处,敬请指出改正,共同交流学习!

1 回复

哦,好的

回到顶部