1、使用writeFileSync写入一个base64编码的图片到`${wx.env.USER_DATA_PATH}/qr.jpg`
2、从这个路径加载图片到image标签
3、返回上一夜,再次进入页面,更换base64内容,再次写入到`${wx.env.USER_DATA_PATH}/qr.jpg`
4、再从这个路径加载图片到image标签,图片没有变化
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | writeFileSync | 微信iOS客户端 | 8.0.54 | 3.6.6 |
2 个回答
你好,请提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
writeFileSync写入是没问题的,你可以读出来比对
fs.writeFileSync(src, base64Str, 'base64')
const res = fs.readFileSync(src, 'base64')
console.log(`compare ${base64Str == res}`)
console.log(base64Str.slice(0,50))
console.log(res.slice(0,50))
目前小程序内所有canvas把用到的相同路径的图片都一并缓存了,导致更新文件并不会更新canvas显示的图片
你要换显示的图片,就必须用新的路径