1、在手机上调试,调用
wx.getFileSystemManager().saveFileSync
保存图片失败,才发现我存储了过多的本地图片,超过了10M。
2、为了解决该问题,我试着去获取已经保存过的图片地址列表,但是fileList里面是个空数组。截图如下:
3、本来如果能获取到已存储的图片地址列表,可以调用unlinkSync接口删除;但是目前我不清楚我之前保存了哪些图片,所以该问题就卡住了。
框架类型 | 问题类型 | 操作系统 | 工具版本 |
---|---|---|---|
小程序 | Bug | Windows | v1.02.1902010 |
2 个回答
wx.getSavedFileList() 是获取【缓存文件】,而 saveFile 存文件操作的是【用户文件】,这是两个不同的文件区划。
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/file-system.html
所以应该访问【用户文件】
let fs = wx.getFileSystemManager()
fs.readdir(wx.env.USER_DATA_PATH)
调用saveFile后readdir获取不到数据;目前貌似已经可以用wx.getSavedFileList()来获取了!别改了吧。
现在的问题是,我之前有传filePath的那些文件去哪里了,怎么获取到呢?代码如下:
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000 + "";
var filePath = wx.env.USER_DATA_PATH + '/jietu' + timestamp + '.png'
wx.getFileSystemManager().saveFileSync(tmpPath, filePath );