需求:
目前需要在一个页面中加载使用很多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(图片的本地文件路径)进行后继大家想要的操作了!
注意用完后,及时清理本地文件.释放储存空间.
最后:发现社区中已有此种解决方法了,之前没找到.
您好,我这里使用此方法得到链接但无内容,请问是什么问题?
666 解决了两天的问题
多次调用后writeFileSync会失败是什么原因
请问为什么安卓使用wx.previewImage预览转化后的本地图片黑屏,地址是可以打印到的,但是显示黑屏,ios就可以正常展示
模拟器上测可以保存,但是手机上面测就保存不了
请问用writeFile写入的本地用户文件,怎么才能清除啊,文档中写的是无法清除的啊,你是怎么做到的?
怎样清理writeFile文件呀
您好,想问一下wx.env.USER_DATA_PATH这个是什么路径?
微信提供了一个用户文件目录给开发者,开发者对这个目录有完全自由的读写权限。通过wx.env.USER_DATA_PATH可以获取到这个目录的路径。
mark
非常感谢!找了这么久终于找到了这个回答!谢谢