调用downloadFile 下载的缓存文件,怎么清除
发布于 6 年前 作者 houguiying 3944 次浏览 来自 问答

目前想实现的功能是把视频保存到用户相册的功能。实现的方式就是,调用 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 回复

wx.getSavedFileList获取

wx.removeSavedFile删除

回到顶部