当前位置: 首页 > 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)}})
},

相关文章:

  • 服务器手动安装并编译R环境库包:PROJ→RGDAL
  • JS入门——事件与事件绑定
  • Linux驱动第十章:SPI总线驱动子系统
  • 【unitrix】 3.5 类型级别的比较系统(cmp.rs)
  • RPC常见问题回答
  • 在 CI/CD 流程中使用 Jenkins 与 Docker 集成
  • 内存的代价:如何正确与 WASM 模块传值交互
  • 大内存对电脑性能有哪些提升
  • Redis ⑩-持久化 || RDB
  • 算法-每日一题(DAY11)每日温度
  • 【VUE】某时间某空间占用情况效果展示,vue2+element ui实现。场景:会议室占用、教室占用等。
  • MySQL基础多表查询
  • uniapp实现像qq消息列表左滑显示右侧操作栏效果
  • Qt—(Qt线程,Qt进程,,QT与sqlite数据库)
  • 学习华为 ensp 的学习心得体会
  • SP-VLA:一种用于 VLA 模型加速的联合模型调度和 token 剪枝方法
  • 力扣-136.只出现一次的数字
  • C语言:二分搜索函数
  • linux中的数据检索
  • mysql查询使用`_rowid` 虚拟列
  • 网站对固定ip转向怎么做/搜狗站长
  • 佛山格尔做网站的公司/网页做推广
  • 如何做网站建设方案/哪里做网站便宜
  • 温州网站 公司/优化seo
  • 阿里云网站建设基本流程/线上网络平台推广
  • 开发公司质量管理制度模板/临沂网站seo