#私藏项目实操分享#在答题小程序中,fileSystemManager.saveFile保存的文件在哪里能找到
Posted Monstar_0°-蒙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#私藏项目实操分享#在答题小程序中,fileSystemManager.saveFile保存的文件在哪里能找到相关的知识,希望对你有一定的参考价值。
场景是:在答题小程序中下载docx或者excel,并且客户需要拿到这个资料文件,后续去转发。
现在找不到这个文件。 请问需要怎么做才能找到这个文件。
wx.env.USER_DATA_PATH + /abc.txt
wx.env.USER_DATA_PATH 真机上是 wxfile://usr
真实路径:手机\\内部存储\\tencent\\MicroMsg\\wxanewfiles\\xxxx\\abc.txt
xxxx:是一个很长的由英文数字组成的文件夹,这个文件夹的命名规则,尚不清楚
所以保存后的文件具体在什么路径不知道,是个问题,不过有个投机取巧的方法:
1.使用wx.downloadFile下载docx文件后,使用fileSystemManager.saveFile保存docx文件为图片格式
2.保存成功后,在使用wx.saveImageToPhotosAlbum保存到相册,最后路径为
手机\\内部存储\\tencent\\MicroMsg\\WeiXin\\mmexpor1xxxxxxxx.jpg,1xxxxxxxx为时间戳,只能根据文件生成时间判断是哪个文件了
//先检查相册访问授权情况
wx.getSetting({
success: (res) => {
//检查是否有访问相册的权限,如果没有则通过wx.authorize方法授权
if (!res.authSetting[scope.writePhotosAlbum]) {
console.log(没有获取授权);
wx.authorize({
scope: scope.writePhotosAlbum,
success: (res) => {
//用户点击允许获取相册信息后进入下载保存逻辑
this.save()
}
})
} else {
console.log(已获取授权);
this.save()
}
}
});
save:function(){
wx.downloadFile({
url: "docx文件下载地址",
success(res) {
console.log(res)
var savePath = wx.env.USER_DATA_PATH + "/123.docx.jpg"
wx.getFileSystemManager()
.saveFile({//下载成功后保存到本地
tempFilePath: res.tempFilePath,
filePath: savePath ,
success(res2) {
//获取了相册的访问权限,使用 wx.saveImageToPhotosAlbum 将图片保存到相册中
wx.saveImageToPhotosAlbum({
filePath: savePath ,
success: (res) => {
//保存成功弹出提示,告知一下用户
wx.showModal({
title: 文件已保存到手机相册,
content: 位于tencent/MicroMsg/WeiXin下 \\r\\n将保存的文件重命名改为[ .docx ]后缀即可,
confirmColor: #0bc183,
confirmText: 知道了,
showCancel: false
})
},
fail(res) {
console.log(res)
}
})
},
fail(res) {
console.log(res)
}
})
},
fail(res) {
console.log(res)
}
})
},
文件名类似 mmexpor1xxxxxxxx.jpg
1xxxxxxxx为时间戳,只能根据文件生成时间判断是哪个文件了
最后,记得找到文件,手动重命名拓展名或.docx或者.xlsx
以上是关于#私藏项目实操分享#在答题小程序中,fileSystemManager.saveFile保存的文件在哪里能找到的主要内容,如果未能解决你的问题,请参考以下文章
#私藏项目实操分享#答题小程序中,如何将数据库里的排行榜数据导出为excel