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)  

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/872128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全保险产业发展洞察报告(2024)

数字经济高速增长,黑客攻击、数据泄露等网络安全风险可能直接导致企业遭受巨额的财务损失。网络安全保险作为风险转移和风险管理的有效工具,正逐渐成为数字安全框架中不可或缺的一环。 《网络安全保险产业发展洞察报告(2024)》梳…

百度“文心•跨模态大模型”又有新动态,支持内容分析时输出自定义标签库

大模型真正的价值在于应用。 一、基本概念 AI大模型具有强大的表征学习能力,能够在海量数据中提取有用的特征,为各种复杂任务提供解决方案。例如GPT-4o、BERT等模型的出现,不仅展示了大规模参数和复杂计算结构的优势,还在自然语…

STM32第二十课:FreeRTOS任务管理和信号量

目录 一、任务管理方式二、任务堆栈溢出检测三、二值信号量(任务同步)四、计数信号量五、互斥信号量六、队列 一、任务管理方式 1.任务创建成功后会添加到就绪链表中,开启调度器,此时任务调度器会去就绪链表中找优先级最高的任务执…

二叉树 —— OJ题目详解

1.二叉树的前序遍历 二叉树的前序遍历比较简单,但是在力扣上写这个接口需要注意几个点: int* preorderTraversal(struct TreeNode* root, int* returnSize) {} preorderTraversal 的返回值是动态开辟的数组,里面存放的是前序遍历的顺序int*…

【Linux取经之路】Linux常见指令

目录 基本指令 常见指令 1)ls —— 对于目录,列出该目录下的所有子目录和文件;对于文件,将列出文件名及其他信息 2)pwd —— 显示当前所在的目录 ​编辑 3)cd —— 切换到指定路径下 4)t…

itextpdf字体选择

itextpdf 版本7.2.5 itextpdf-html2pdf 版本4.0.5 这里讲的是通过html转pdf,在html2pdf中是通过html中font-family样式来确定字体的,那已知font-family的情况,怎么确定pdf中实际用的字体,大致分为两步: 1、通过font…

识别 TON 生态系统中前10种加密资产,以bitget 钱包为例

元描述:想要找到下一个 100 倍加密货币投资?请密切关注这篇文章;它揭示了所有可能很快变得非常有价值的 TON 网络宝石。 由 Telegram 提供支持的 TON(开放网络)生态系统正在蓬勃发展!这是一个充满激动人心的…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【25】【分布式事务】

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【25】【分布式事务】 本地事务事务的基本性质事务的隔离级别(下面四个越往下,隔离级 别越高,并发能力越差)事务的传播行为(是否…

【Hive SQL 每日一题】找出各个商品销售额的中位数

文章目录 测试数据需求说明需求实现方法1 —— 升序计算法方法2 —— 正反排序法 补充 测试数据 -- 创建 orders 表 DROP TABLE IF EXISTS orders; CREATE TABLE orders (order_id INT,product_id INT,order_date STRING,amount DOUBLE );-- 插入 orders 数据 INSERT INTO ord…

软件工程课设——成绩管理系统

软件工程课设——成绩管理系统 该文档是软件工程课程设计,成绩管理子系统的开发模块仓库。 功能分析 从面向的用户分,成绩管理子系统主要面向三类用户,即至少需要满足这三类用户的需求: 学生:学生是成绩管理系统的…

深入理解 Git Reset 的三种模式及其使用场景

🍎个人博客:个人主页 🏆个人专栏:Android ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 1. --soft 模式 2. --mixed 模式(默认) 3. --hard 模式 总结 结语 我的其他博客 前言 在日常的开发…

机器学习-1:人工智能、机器学习和深度学习的关系

人工智能(AI) 简单理解,任何一种事物只要具备了一定的智能就可以把它归类为人工智能。 官方定义:"AI is the field that sdudies the synthesis and analysis of computational agents that act intelligently." 其中&a…

安卓学习中遇到的问题【bug】

安卓学习中遇到的问题 1Gradle下载慢怎么办? Gradle下载慢怎么办? distributionUrlhttps://mirrors.cloud.tencent.com/gradle/gradle-7.5-bin.zip 2 Could not resolve all files for configuration ‘:classpath‘. > Could not resolv…

uniapp-vue3-vite 搭建小程序、H5 项目模板

uniapp-vue3-vite 搭建小程序、H5 项目模板 特色准备拉取默认UniApp模板安装依赖启动项目测试结果 配置自动化导入安装依赖在vite.config.js中配置 引入 prerttier eslint stylelint.editorconfig.prettierrc.cjs.eslintrc.cjs.stylelintrc.cjs 引入 husky lint-staged com…

处理在 electron 中使用开启了懒加载的 el-image 后,窗口最大化或窗口尺寸变化后图片无法显示的问题

文章目录 1、问题描述2、详情动图3、解决思路4、解决方案5、效果展示 1、问题描述 在 electron 中使用 el-image 时,开启了懒加载后,发现只有当窗口滚动后,图片才会显示,即便图片已经处于窗口的可视区域。当拖动窗口使其尺寸变大…

基于JAVA+SpringBoot+Vue+uniapp+协同过滤算法+爬虫+AI的减肥小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 小程序用户登录&#…

前端开发体系+html文件详解

目录 html骨架 body主体内基本元素 基本元素 超文本(超链接跳转) 锚点 图片标签 列表标签 表格标签 框架标签(窗口标签) 音频标签 视频标签 VScode编译器 输入框 字体样式 实例展示: 首先简要介绍前端的整…

在VS2017下FFmpeg+SDL编写最简单的视频播放器

1.下载ShiftMediaProject/FFmpeg 2.下载SDL2 3.新建VC控制台应用 3.配置include和lib 4.把FFmpeg和SDL的dll 复制到工程Debug目录下,并设置调试命令 5.复制一下mp4视频到工程Debug目录下(复制一份到*.vcxproj同一目录,用于调试) 6…

python中的re模块--正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科 学的一个概念。正则表达式通常被用来检索、替换那些符合某个模 式(规则)的文本 re模块作用 通过使用…

JVM 内存介绍

本文主要介绍: JVM 内存分哪几个区,每个区的作用是什么 备注: 橙色:堆 和 方法区 ,属于jvm公有部分,可以进行调优 灰色:java栈,本地方法栈和计数器 属于jvm的私有部分,不可进行调优 一个对象从创建到被回收的过程是怎样的? Personpnew Perso…