通过QQ小程序自带的qq.cloud.downloadFile可将文件从云端下载,并保存至一个临时目录。这时如果我想把文件保存到手机本地怎么办呢?
第一个想法是通过QQ小程序自带的qq.saveFile这个API,但是经过尝试后发现,这个保存的文件只有在小程序内部才能查看,而在手机的内部存储中找不到这个文件。
所以才有了下面这个比较麻烦的方法,但是可以保存至手机本地。
思路:先将文件转化为图片,再把图片保存至系统相册,最后在手机存储中找到该图片再转化为原文件即可。
(假设下载的是PDF文件)
qq.cloud.downloadFile({fileID:'填入待下载文件的fileID'
})
.then((res)=>{console.log(res.tempFilePath)const savePath = qq.env.USER_DATA_PATH + '/123.pdf.jpg'qq.getFileSystemManager().saveFile({tempFilePath: res.tempFilePath,filePath: savePath,success(res) {console.log('save ->', res)qq.saveImageToPhotosAlbum({filePath: savePath,success: (res) => {qq.showModal({title: '文件已保存到手机相册',content: '可在相册中查看文件详细位置,找到文件后将保存的文件后缀名改为[.pdf]即可',confirmColor: '#0bc183',confirmText: '知道了',showCancel: false})}})},fail(){console.log("下载失败")}})
})