收藏
回答

getSavedFileList返回fileList为空

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows v1.02.1902010

1、在手机上调试,调用

wx.getFileSystemManager().saveFileSync

保存图片失败,才发现我存储了过多的本地图片,超过了10M。




2、为了解决该问题,我试着去获取已经保存过的图片地址列表,但是fileList里面是个空数组。截图如下




3、本来如果能获取到已存储的图片地址列表,可以调用unlinkSync接口删除;但是目前我不清楚我之前保存了哪些图片,所以该问题就卡住了。



最后一次编辑于  03-15  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 海贼王
    海贼王
    03-15

    现在的问题是,我之前有传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 );


    03-15
    赞同
    回复
  • 白开水
    白开水
    03-19

    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)

    03-19
    赞同
    回复 1
    • 海贼王
      海贼王
      03-19


      调用saveFile后readdir获取不到数据;目前貌似已经可以用wx.getSavedFileList()来获取了!别改了吧。

      03-19
      回复