收藏
回答

调用downloadFile 下载的缓存文件,怎么清除

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.downloadFile 客户端 不限版本号 6.6.6

目前想实现的功能是把视频保存到用户相册的功能。实现的方式就是,调用 wx.downloadFile的api,然后再根据下载成功的本地链接,去调用

wx.saveVideoToPhotosAlbum方法,保存到本地相册。问题如下描述



- 当前 Bug 的表现(可附上截图)

问题是,在调用wx.downloadFile方法的时候,如果我不指定存储的文件路径,也就是不设定filePath的时候,有些视频没办法保存,下载下来的视频格式为非mp4格式,或者没有后缀,如果给他手动设置filePath的话,文件会存在wx://user/...mp4 文件夹下,但是却不知道如何删除,导致一下子缓存就满了(10m),使用wx.getSavedFileList(Object object),也不能获取到这个缓存数据


代码如下


wx.downloadFile({

    url: videoSrc,

    filePath:`${wx.env.USER_DATA_PATH}/fileName.mp4}`, //设置路径,并且设置文件名为.mp4结尾

    success(res) {

        wx.saveVideoToPhotosAlbum({

        filePath: res.filePath,

        success(res) {

            self.msg("text", "保存成功");

    },

    fail(res) {

        self.msg("text", "保存失败");

        console.log(res);

    }

});


- 预期表现

可以清除掉本地缓存,可以保存视频成功


-感谢大家的帮助


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

2 个回答

  • Maverick
    Maverick
    2019-05-10

    FileSystemManager.readdir

    FileSystemManager.unlink

    用这两个看看

    2019-05-10
    有用 3
    回复 1
    • Daisy
      Daisy
      2019-05-10

      可以,非常感谢

      2019-05-10
      回复
  • 原来我是船长
    原来我是船长
    2019-05-13

    wx.getSavedFileList获取

    wx.removeSavedFile删除


    2019-05-13
    有用
    回复 1
    • Daisy
      Daisy
      2019-05-13

      这个不太好使,好像只针对,temp那种路径的,我这个指定了filePath

      2019-05-13
      1
      回复
登录 后发表内容