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

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.xdnf.cn/news/14533.html

相关文章:

  • 4.文件管理(文本、日志、Excel表)
  • 基于PyQt5和PaddleSpeech的中文语音识别系统设计与实现(Python)
  • Spring Boot + MyBatis + Vue:全栈开发中的最佳实践
  • C++11 右值引用(Rvalue Reference)
  • MySQL 数据库索引详解
  • 【AI时代速通QT】第二节:Qt SDK 的目录介绍和第一个Qt Creator项目
  • Linux tail 命令
  • Android图形系统框架解析
  • 实时输出subprocess.Popen运行程序的日志
  • 面试第三期
  • 【Bug:docker】--Docker同时部署Dify和RAGFlow出现错误
  • Spring-创建第一个SpringBoot项目
  • StableDiffusion实战-手机壁纸制作 第一篇:从零基础到生成艺术品的第一步!
  • 解密提示词工程师:AI 时代的新兴职业
  • 视频续播功能实现 - 断点续看从前端到 Spring Boot 后端
  • C#最佳实践:为何优先使用查询语法而非循环
  • HALCON相机标定
  • Laravel框架的发展前景与Composer的核心作用-优雅草卓伊凡
  • 微信小程序:实现左侧菜单、右侧内容、表单、新增按钮等组件封装
  • 蜻蜓Q系统的技术演进:从Laravel 6到Laravel 8的升级之路-优雅草卓伊凡
  • web3 浏览器注入 (如 MetaMask)
  • 如何获取 vscode 的 vsix 离线插件安装包
  • jmeter学习
  • JETBRAINS IDE 开发环境自定义设置快捷键
  • MySQL存储引擎深度解析:InnoDB、MyISAM、MEMORY 与 ARCHIVE 的全面对比与选型建议
  • FPGA基础 -- Verilog行为级建模之alawys语句
  • 【深度学习】卷积神经网络(CNN):计算机视觉的革命性引擎
  • 最新期刊影响因子,基本包含全部期刊
  • OpenStack入门体验
  • Oracle 详细解析及与 MySQL 的核心区别