基于之前脚本上传七牛cdn本地替换读取远程图片的背景下 期间UI变动 同名图片发生变更 覆盖上传后图片变更没有生效
由于七牛的缓存策略 图片覆盖上传不会实时生效的
解决方案:缓存刷新
1、直接登陆七牛账号 进入平台手动去刷新你需要更新的图片 从而远程读取该图片的地方 会重新拉取最新图片 故能解决该问题
2、由于权限管制 开发没有七牛账号 故调取七牛刷新api 实现缓存刷新
npm install qiniu --save
1)引入3方依赖
const qiniu = require('qiniu')
2)七牛相关的配置
const config = {}
config.accessKey = ''
config.secretKey = ''
config.bucket = '' // 存储空间的名字
config.url = '' // 配置的域名
const mac = new qiniu.auth.digest.Mac(config.accessKey, config.secretKey)
3)配置需要刷新的cdn地址(可以刷新目录也可以刷新指定url 具体可以看看七牛api 当前举例特定url)
const refreshCDNArr = [
'https://xxxxx.webp',
'https://dddddd.webp',
]
4)调取缓存刷新api
const cdnManager = new qiniu.cdn.CdnManager(mac)
cdnManager.refreshUrls(needRefreshArr, function(err, respBody, respInfo) {
if (err) {
console.log('刷新cdn出错...')
}
if (respInfo.statusCode == 200) {
console.log('刷新cdn成功...')
}
})
然后刷新一下 app的话杀个进程seesee