当前位置: 首页 > news >正文

uniapp开发小程序,导出文件打开并保存,实现过程downloadFile下载,openDocument打开

uniapp开发小程序,导出文件打开并保存

实现思路

1、调用请求获取到后端接口返回的下载文件的url路径 (注意必须是https的路径,域名需要配置在微信小程序后台的合法域名里面)
2、使用 uni.downloadFile 方法 (下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。)
在这里插入图片描述
3、使用 uni.openDocument(OBJECT)方法
新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。
在这里插入图片描述

建议给用户添加一句提示,下载下来的文件会自动打开

// html
<view class="submitBtn btn" @click="submitExport">导出</view>

submitExport(){uni.showModal({content:"导出的Excel文件将自动打开,请点击右上角"更多"选择保存",title:"温馨提示",success(res) {if(res.confirm){this.export()}}})
},
export(){
// 请求用自己项目的封装请求,我这用了我自己项目的this.$http.mallbusiness({url: "写自己后端给的接口",data: this.queryString,type: "queryString",}).then(res => {if (res.code == 200) {uni.downloadFile({url: res.data,success: (downloadRes) => {console.log(downloadRes,"downloadRes")if (downloadRes.statusCode === 200) {// 文件临时路径const tempFilePath = downloadRes.tempFilePath;//打开文件uni.openDocument({filePath: tempFilePath,showMenu: true,success: () => {this.$u.toast("导出成功!");this.exportClose()},fail: (err) => {console.error('打开文件失败', err);this.$u.toast("文件已下载,但无法打开");}});} else {this.$u.toast("下载失败,请重试");}},fail: (err) => {console.error('下载文件失败', err);this.$u.toast("下载失败,请重试");},complete: () => {uni.hideLoading();}});} else {this.$u.toast(res.message)}})
},
http://www.lqws.cn/news/451999.html

相关文章:

  • 【Python】Excel表格操作:ISBN转条形码
  • React Native【实战范例】弹跳动画菜单导航
  • 学习threejs,三维汽车模拟器,场景有树、云、山等
  • Nginx-Ingress-Controller自定义端口实现TCP/UDP转发
  • 大数据系统架构实践(一):Zookeeper集群部署
  • 局域网投屏工具(将任何设备转换为计算机的辅助屏幕)Deskreen
  • LVS负载均衡群集:Nginx+Tomcat负载均衡群集
  • Lora训练
  • 项目管理利器:甘特图的全面解析与应用指南
  • 计算机网络八股第二期
  • net程序-Serilog 集成 SQL Server LocalDB 日志记录指南
  • 有方 N58 LTE Cat.1 模块联合 SD NAND 贴片式 TF 卡 MKDV1GIL-AST,打造 T-BOX 高性能解决方案
  • 如何在WordPress中添加导航菜单?
  • 基于 CNN-LSTM-GRU 架构的超音速导弹轨迹高级预测
  • Redis如何解决缓存击穿,缓存雪崩,缓存穿透
  • 技术革新赋能楼宇自控:物联网云计算推动应用前景深度拓展
  • 饼图:数据可视化的“切蛋糕”艺术
  • 搜索二叉数(c++)
  • 【Leetcode】字符串之二进制求和、字符串相乘
  • PCB板高速飞拍检测系统 助力电子制造自动化领域
  • idea中push拒绝,merge,rebase的区别
  • C++ 单例模式一种实现方式
  • Cesium、ThreeWebGL详解(二)渲染引擎向GPU传数据、性能优化、引擎对比
  • 使用 C++/OpenCV 构建中文 OCR 系统:实现账单、发票及 PDF 读取
  • 云计算处理器选哪款?性能与能效的平衡艺术
  • 动态WCMP+Flowlet ALB:双引擎驱动智算网络负载均衡
  • 【Pandas】pandas DataFrame explode
  • shel脚本重启Jar服务
  • 对接世界职业院校技能大赛标准,唯众打造高质量物联网实训室
  • 第二章 SQL编程系列-SQL编程基础