收藏
回答

关于 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)
      }
    })


微信开发者版本:

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

3 个回答

  • 努力搬砖
    努力搬砖
    2022-05-06

    删除本地文件的话用unlink,

    然后缓存文件问题,去开发者工具里面,右上角那个清理缓存按钮手动处理

    2022-05-06
    有用
    回复
  • 渃
    2022-05-02

    请问wx.env.USER_DATA_PATH在电脑上对应的位置,是哪里啊,我太菜了完全找不到

    2022-05-02
    有用
    回复 2
    • 渃
      2022-05-02
      突然找到了
      2022-05-02
      回复
    • 阳光
      阳光
      2022-06-17
      在什么位置?
      2022-06-17
      回复
  • xplee
    xplee
    2022-04-22

    删除的话用unlink试试

    https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html

    2022-04-22
    有用
    回复
登录 后发表内容