收藏
回答

关于 wx.getFileSystemManager 的一些疑问?

我的小程序实现的功能,主要是对图片、音乐等操作,然后读取文件上传到后端。

在微信开发者测试的时候呢,我特地查了wx.env.USER_DATA_PATH在电脑上对应的位置,

发现了三个文件夹

没理解错的话,tmp是用来保存临时文件的,usr是writeFile保存本地文件的.

第一个问题就是:

小程序选择图片等操作时,会返回一个临时文件,这个临时文件保存到tmp下,不知我的理解对不对,查了一些他人的说法,这个临时文件有效期在生命周期内会自动删除,不管是我重新编译还是关掉开发者工具,都没见tmp下的文件自动清除,在电脑端是这个情况,不清楚手机端如何,在这里不得不提,我前段时间看C盘怎么少了一两个G,然后现在我发现是这个tmp下文件越来越多的原因。哎。

第二个问题:

我用readFile读取了wx.env.USER_DATA_PATH下的文件(对应usr下的文件),成功返回arraybuffer,

但是呢,用removeSavedFile删除同样的文件,就报错,这个文件不存在。

代码:

let f = wx.getFileSystemManager()
    f.readFile({
      filePath:`${wx.env.USER_DATA_PATH}/2.mp3`,
      success(res){
        console.log(res.data)
      }
    })
    f.removeSavedFile({
      filePath:`${wx.env.USER_DATA_PATH}/2.mp3`,
      success(){},
      fail(e){
        console.log(e.errMsg)
      }
    })


微信开发者版本:

回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容