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

uniapp 微信小程序根据后端返回的文件链接打开并保存到手机文件夹中【支持doc、docx、txt、xlsx等类型的文件】

项目场景:

我们在使用uniapp官方提供的uni.downloadFile以及uni.saveFile时,会发现这个文件下载的默认保存位置和我们预想的不太一样,容易找不到,而且没有提示,那么我们就需要把文件打开自己保存并且有提示保存到哪个文件夹里这样方便我们查找


解决方案:

uniapp下载文件
用到了uniapp的两个api,不用uni.saveFile的自动保存方法,用uni.openDocument然后让用户自己点击右上角三个点自己保存方便用户后续查找

uni.downloadFile // 下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。
uni.openDocument // 新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。

方法:

// 下载文件oneClickDownload(url) {// 下载文件资源到本地uni.downloadFile({url: url, // 后端返回的线上文件路径success: function(res) {if (res.statusCode === 200) {//打开文档查看uni.openDocument({filePath: res.tempFilePath,//关键的一步,showMenu为true才会有文件右上角的三个点下载保存按钮,不写的话只能查看不能保存showMenu: true,success: function(ress) {console.log("成功打开文件")},fail() {console.log("打开文件失败")}})}}});},

使用的话直接 res.Data换成后端给的文件地址链接即可,直接调用就直接打开了文件

this.oneClickDownload(res.Data)  

手机上运行截图:
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【数据结构与算法】希尔排序:基于插入排序的高效排序算法
  • SpringBatch文件读写ItemWriter,ItemReader使用详解
  • ffmpeg和imagemagick制作gif动图
  • 论文阅读:Explainability for Large Language Models: A Survey
  • C++ 类和对象(A)
  • springboot 适配ARM 架构
  • linux centos limits.conf 修改错误,无法登陆问题修复 centos7.9
  • Git无法验证服务器证书
  • redis讲解与介绍
  • ## 基础知识
  • Jira学习
  • 为什么要使用加密软件?
  • 区块链与云计算的融合:新时代数据安全的挑战与机遇
  • 状态管理的艺术:探索Flutter的Provider库
  • 51单片机STC89C52RC——19.1 SG90舵机(伺服电机)
  • 4. 路由到控制器 - Laravel从零开始教程
  • ECMAScript入门(七)--Module语法
  • express如何解决request entity too large问题
  • gf框架之分页模块(五) - 自定义分页
  • isset在php5.6-和php7.0+的一些差异
  • Javascript 原型链
  • java小心机(3)| 浅析finalize()
  • JSDuck 与 AngularJS 融合技巧
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Python打包系统简单入门
  • Python学习之路13-记分
  • React-flux杂记
  • Vue UI框架库开发介绍
  • webpack+react项目初体验——记录我的webpack环境配置
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 飞驰在Mesos的涡轮引擎上
  • 给初学者:JavaScript 中数组操作注意点
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 聊聊redis的数据结构的应用
  • 日剧·日综资源集合(建议收藏)
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​数据结构之初始二叉树(3)
  • # 安徽锐锋科技IDMS系统简介
  • $.ajax()参数及用法
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (2)MFC+openGL单文档框架glFrame
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (十)Flink Table API 和 SQL 基本概念
  • (四)库存超卖案例实战——优化redis分布式锁
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • **CI中自动类加载的用法总结