我的小程序实现的功能,主要是对图片、音乐等操作,然后读取文件上传到后端。
在微信开发者测试的时候呢,我特地查了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)
}
})
微信开发者版本:
删除本地文件的话用unlink,
然后缓存文件问题,去开发者工具里面,右上角那个清理缓存按钮手动处理
删除的话用unlink试试
https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.unlink.html