var result = await wx.cloud.downloadFile({fileID: cloudPath})
if (result.statusCode == 200) {
wx.getFileSystemManager().saveFile({
tempFilePath: result.tempFilePath, // 传入一个本地临时文件路径, http://tmp/开头的
filePath: wx.env.USER_DATA_PATH + '/abc', //保存到用户目录/abc文件中,此处文件名自定义,因为tempFilePath对应的是一大长串字符
success(res) {
console.log('save ->', res) // res.savedFilePath 为一个本地缓存文件路径
wx.showToast({
title: '文件已保存至:' + res.savedFilePath,
icon: 'none',
duration: 1500
})
}
})
}
微信开发者工具(v1.02.1907300)上,wx.env.USER_DATA_PATH对应:C:\Users\tom\AppData\Local\微信开发者工具\User Data\WeappFileSystem\(一串字符可能是开发者工具标识)\(模拟器标识)
模拟器上:通过chooseImage等方法选择的本地文件会返回一个http:/tmp/xxxx.xxxx....的文件,对应此处tmp文件夹内的文件,通过FileSystemManager.saveFile方法,不指定保存文件位置时,默认保存在此处的store文件夹内,返回成功的结果为http://store/xxx.xxx..., 指定保存到用户文件夹后,文件保存在usr文件夹,保存成功路径为http://usr/文件名称.后缀形式。
真机:安卓保存的实际位置为/storage/emulated/0/tencent/MicroMsg/wxanewfiles/(一长串字符可能是用户标识)/保存的文件
返回路径的协议名在 iOS/Android 客户端为 "wxfile",在开发者工具上为 "http"
微信保存的文件一直很难找,个人吐槽很SB