请问微信小程序这种pdf文件的保存,能单独加按钮点击保存吗?-灵析社区

PX_13

![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/092bfde71068b5828b6d434501894c2b.png) 而不是打开一个这种文件预览页面 点击下载保存,想在小程序加个下载按钮,直接保存pdf文件,而不是进入这种预览页面,然后还要点击右上角三个点去保存

阅读量:123

点赞量:0

问AI
试试看 "wx.saveFileToDisk" (https://link.segmentfault.com/?enc=DEtLPXfZ0ZLY3qLFgWoDAw%3D%3D.XDgJO53sfORocpG4zUoWOML0NZLy29oQ5Ho2C5NtbfwQwxRmywha8B9nn7YDiLbexOleKh8SHJtoqoyzZOHIhNRSH4oNgIsZBVoEpT%2BnzGOjpDoHlHOb5675JeSJVxaS) 这个API? 这里是官方提供的一个Demo 👉 "开发指引 / 对象存储 / 微信小程序 / 下载文件" (https://link.segmentfault.com/?enc=mz5lgghB%2F%2Fm%2BHOCudLIWwQ%3D%3D.FLd5x4ZkFKtztCvcVbL3ltcE2OBAmQosS3qkO0kKdqn%2BQt6qB5WeaZb69gpZ9lbDH7Vg7H3kiDY1SHUpVqkL%2BE8isSqe%2FClmnM%2FIZUd7hT1ruJ%2BD6KQngex2uZP73NWyrrPUo12%2Bbab0Xos5pgr2i32AYUMGz12a9%2FNdT5kXQCe7f4QYTDSu4QwlQmxyLGn%2F) async onLoad() { const result = await this.downloadFile('cloud://test.png',function(res){ console.log(`下载进度:${res.progress}%,已下载${res.totalBytesWritten}B,共${res.totalBytesExpectedToWrite}B`) // if(res.progress > 50){ // 测试文件下载一半就终止下载 // return false // } }) wx.saveFile({ tempFilePath: result.tempFilePath }).then(console.log) }, /** * 下载微信云托管对象存储到本地 * @param {*} fileID 对象存储文件ID * @param {*} onCall 上传回调,文件上传过程监听,返回false时会中断上传 */ downloadFile(fileID, onCall = () => {}) { return new Promise((resolve, reject) => { const task = wx.cloud.downloadFile({ fileID, success: res => resolve(res), fail: e => { const info = e.toString() if (info.indexOf('abort') != -1) { reject(new Error('【文件下载失败】中断下载')) } else { reject(new Error('【文件下载失败】网络或其他错误')) } } }) task.onProgressUpdate((res) => { if (onCall(res) == false) { task.abort() } }) }) } })