wx.downloadFile({
// 示例 url,并非真实存在
url: 'https://blog.csdn.net/qq_35451130/article/details/125506586',
success: res => {
const filePath = res.tempFilePath
wx.openDocument({
filePath: filePath,
fileType: 'docx',
success: function (res) {
console.log('打开文档成功')
}
})
},
fail: err => {
console.log(err);
}
})
下载好直接打开了
也可以用下面的方法
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)
}
})
},