需求:
目前需要在一个页面中加载使用很多image组件,加载图片,采用的是[data:image..base64,...]格式的图片直接放在src里.但在真机测试时,可以导致wxml里内容太多,小程序直接无响应.所以想着把 从服务端传来的base64格式的图片转成本地文件路径后,再放到image组件的src里.
解决:
在社区里查了好多帖子,发现都是提此类问题,但均没有结果.后来在网上找到了解决方法,现分享如下:
var base64 = "data:image...";//base64格式图片
var imgPath = wx.env.USER_DATA_PATH+'/页面名称'+'你的图片名'+ '.png';
//如果图片字符串不含要清空的前缀,可以不执行下行代码.
var imageData = base64.replace(/^data:image\/\w+;base64,/, "");
var fs = wx.getFileSystemManager();
fs.writeFileSync(imgPath, imageData, "base64");
至此就可以用imgPath(图片的本地文件路径)进行后继大家想要的操作了!
注意用完后,及时清理本地文件.释放储存空间.
最后:发现社区中已有此种解决方法了,之前没找到.
你这写的是本地缓存文件,不叫临时文件吧
对,用词有误.应为[生成本地文件]
mark