let _url = '/storage/emulated/0/Android/data/io.dcloud.HBuilder/downloads/headPortrait/311249ce-6444-4303-99ba-32c64f3c4df7?ran=1684132575644';//图片A
uni.previewImage({urls: [img],current: img});//预览图片A
更新完当前图片后,路径不变,但是内容变为图片B
let _url = '/storage/emulated/0/Android/data/io.dcloud.HBuilder/downloads/headPortrait/311249ce-6444-4303-99ba-32c64f3c4df7?ran=1684132575994';//图片B
uni.previewImage({urls: [img],current: img});//结果:预览内容还是图片A
- 发布:2023-05-15 15:01
- 更新:2025-01-07 14:29
- 阅读:344
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 3.7.11
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: HarmonyOS 2.0.0
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
更新完后,预览内容为图片B
更新完后,预览内容为图片B
实际结果:
预览内容还是图片A
预览内容还是图片A
bug描述:
uni.previewImage方法预览本地图片,同样的图片路径,但是预览内容未即时更新
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
直接去 手机文件管理器 查看这张照片,一样不一样
上传可以复现的demo,方便排查
ujoin_wql (作者)
let _url = '/storage/emulated/0/Android/data/io.dcloud.HBuilder/downloads/headPortrait/311249ce-6444-4303-99ba-32c64f3c4df7';//图片A
uni.previewImage({urls: [img],current: img});//此时预览结果是图片A
uni.removeSavedFile({
filePath:_url ,
complete: function() {
let dtask = plus.downloader.createDownload(httpUrl, {
filename: '_downloads/headPortrait/311249ce-6444-4303-99ba-32c64f3c4df7'
}, function(d, status) {
//d为文件下载对象
if (status == 200) {
let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename)
uni.previewImage({urls: [d.filename],current: d.filename});//结果预览图片A,期望预览图片B
} else {
fc.consoleLog("下载失败---------------------------->")
}
})
dtask.start(); //执行下载
});
在使用 uni.previewImage 方法预览本地图片时,如果更新了图片内容但文件名相同,可能会遇到图片内容未更新的问题。这是因为浏览器或应用可能会缓存图片,导致即使图片内容已更新,预览时仍显示旧的内容
。
为了解决这个问题,可以尝试以下几种方法:
添加随机参数:在图片路径后添加一个随机参数,以防止缓存。例如:
javascript
let url = '/path/to/your/image.jpg';
let timestamp = new Date().getTime();
uni.previewImage({
urls: [`${url}?t=${timestamp}`],
current: `${url}?t=${timestamp}`
});
这种方法通过在图片路径后添加一个时间戳或其他随机参数,使得每次请求的 URL 都是唯一的,从而避免缓存
。
这是ai给的解决方案,可以解决这个问题
ujoin_wql (作者)
直接打开文件本身时,是图片B
2023-05-15 15:44