uniapp——App下载文件,打开文档(一)
uniapp如何下载文件、打开文件
文章目录
- uniapp如何下载文件、打开文件
- 下载文件
- 下载文件成功返回数据格式
- 打开文档
- 处理` iOS` 打开文件可能失败问题
相关API:
- uni.downloadFile
- uni.openDocument
注意:
- 只支持 GET 请求,需要 POST的,可以看另一篇文章;
- 打开文档:不支持H5;
- 为了方便测试,这里没有封装,自行抽取即可;
- 只测试APP Android端,其他设备没有细测;
下载文件
在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。在h5上是跨域的,用户需要处理好跨域问题。
- 通过
uni.downloadFile结合uni.openDocument实现; - 下载成功后,直接打开文档,没有做保存操作;
- 如需监听下载进度:调用
onProgressUpdate
downloadFile() {// 头部信息根据实际情况填写let header = {Authorization: getToken()}uni.downloadFile({url: 'xxx/export', // 下载资源的 urlheader,success: (res) => {const { statusCode, tempFilePath } = res;console.log('下载成功--->', res);if (statusCode == 200) {this.openDocument(tempFilePath);}},fail: (err) => {uni.showToast({title: '下载失败',icon: 'error'})}})
}
下载文件成功返回数据格式
- 返回文件的本地临时路径
{"tempFilePath": "_doc/uniapp_temp_1735636109698/download/export","statusCode": 200,"errMsg": "downloadFile:ok"
}
打开文档
openDocument(filePath) {filePath = this.fileNameEscape(filePath)uni.openDocument({filePath,showMenu: true, // 右上角是否有可以转发分享的功能fileType: 'xlsx', // 文件类型,有效值 doc, xls, ppt, pdf, docx, xlsx, pptx,success: (res) => {uni.showToast({title: '打开文档成功'})},fail: (err) => {uni.showToast({title: '打开文档失败',icon: 'error'})}})
},
处理 iOS 打开文件可能失败问题
- 下载文件名中包含中文字符时会失败情况
fileNameEscape(filename) {if (uni.getSystemInfoSync().platform == "ios") {filename = escape(filename);}return filename;
},
相关文章:
uniapp——App下载文件,打开文档(一)
uniapp如何下载文件、打开文件 文章目录 uniapp如何下载文件、打开文件下载文件下载文件成功返回数据格式 打开文档处理 iOS 打开文件可能失败问题 相关API: uni.downloadFileuni.openDocument 注意: 只支持 GET 请求,需要 POST的ÿ…...
Python 列表的高级索引技巧
列表是 Python 中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素。本文将带你深入了解 Python 列表的高级索引技巧,让你在处理数据时更加得心应手。 1.基本索引 首先,我们来看看如何使用基本索引来访…...
UE5.3 虚幻引擎 Windows插件开发打包(带源码插件打包、无源码插件打包)
0 引言 随着项目体量的增大,所有代码功能都放一起很难管理。所以有什么办法可以将大模块划分成一个个小模块吗。当然有,因为虚幻引擎本身就遇到过这个问题,他的解决办法就是使用插件的形式开发。 例如,一个团队开发了文件I/O模块插…...
RC充电电路仿真与分析
RC充电原理 下图是一个常见的RC充电电路:(假设R10K,C100nF) SW断开时,这个电路处于断路状态,C既没有充电也没有放电;SW闭合时,直流电源5V为电容C充电; 充电时电容两端…...
C++ 设计模式:观察者模式(Observer Pattern)
链接:C 设计模式 链接:C 设计模式 - 模板方法 链接:C 设计模式 - 策略模式 观察者模式(Observer Pattern)是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主…...
栈及栈的操作
栈及栈的操作 栈结构 栈是一种只能在一端进行插入或删除操作的数据结构。栈有两个基本的操作:入栈和出栈。 入栈:将一个新的元素放到栈顶。 出栈:从栈顶取出一个元素。栈顶的元素总是最后入栈,需要出栈时,又最先被从栈中取出。栈的操作规则:LIFO(Last…...
算法:切饼
对以下题目设计一个算法:切饼 假设:有一张很大很大的饼,给你一把足够长的刀。要求:每次在饼上切一刀。 问题:n刀,最多能切出多少块饼? n3 要解决这个问题,我们可以从数学归纳法的…...
C++ 设计模式:代理模式(Proxy Pattern)
链接:C 设计模式 链接:C 设计模式 - 门面模式 链接:C 设计模式 - 中介者 链接:C 设计模式 - 适配器 代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一种代理以控制(…...
JDK、JRE、JVM的区别
JDK(Java Development Kit)、JRE(Java Runtime Environment)和 JVM(Java Virtual Machine)是 Java 开发和运行环境的三个重要组成部分。 JDK 是 Java 开发工具包,它包含了编译器(ja…...
2021年福建公务员考试申论试题(县级卷)
2021年福建公务员考试申论试题(县级卷) 材料一 “把她的家粉刷一新。给独自生活的她更多支持。” 某公益平台上,为女孩小珊修缮房屋的公益计划得到不少爱心网友的支持。1元、10元、100元……不到一个月,爱心捐赠就超过了修缮…...
问题记录:[FATAL] [1735822984.951119148]: Group ‘manipulator‘ was not found.
前言:最近仿照UR5手眼标定的例程,在新的机械臂上进行手眼标定,还准备用easy_hand手眼标定包。将机器人功能包导入到工作空间后进行编译运行,启动launch文件: roslaunch easy_handeye eye_to_hand_CR7_calibration.lau…...
【大模型实战篇】Mac本地部署RAGFlow的踩坑史
1. 题外话 最近一篇文章还是在11月30日写的,好长时间没有打卡了。最近工作上的事情特别多,主要聚焦在大模型的预训练、微调和RAG两个方面。主要用到的框架是Megatron-DeepSpeed,后续会带来一些分享。今天的文章主要聚焦在RAG。 近期调研了一系…...
iOS 修改图片颜色
需求中会遇到这种情况,就是我们需要的图片是已经有的 但是图片的颜色不符合我们的需求,但是又不想再切新的图片了,这个时候,我们可以使用代码的方式修改图片的颜色,达到同样的效果 关键代码就是 [image imageWithRend…...
OceanBase到MySQL实时同步方案
概述 本方案基于OceanBase Binlog服务,采用数据库实时复制软件Beedup订阅捕获OceanBase数据库的Binlog事件,复制软件将Binlog事件还原为MySQL支持的DML或DDL,然后交由MySQL数据库执行。 配置Binlog任务 启用OceanBase Binlog服务ÿ…...
信息系统项目管理师——第8章章 项目整合管理 笔记
8 项目整合管理(最后反过来看) 项目整合过程:①制定项目章程(启动过程)、②制订项目管理计划(规划过程)、③指导和管理项目工作、管理项目知识(执行过程)、④监控项目工…...
最好用的图文识别OCR -- PaddleOCR(1) 快速集成
最近在项目中遇到了 OCR 的需求,希望能够实现高效而准确的文字识别。由于预算限制,我并未选择商业付费方案,而是优先尝试了开源工具。一开始,我测试了 GOT-OCR2.0,但由于我的 Mac 配置较低,不支持 GPU 运算…...
Unity制作3D场景的脑电运动想象范式(左右手抓握)
使用Unity制作3D场景中的运动想象范式 3D技术可以创建出立体的图像和环境,给用户带来更加真实和沉浸式的体验,本文介绍了一种可控的左右手运动的3D场景范式的设计流程,用于被试在3D场景下完成运动想象脑电信号数据的采集。 目录 1.制作动画…...
python23-常用的第三方库01:request模块-爬虫
requests 模块是 Python 中的一个第三方库,用于发送 HTTP 请求。 它提供了一个简单且直观的 API,使得发送网络请求和解析响应变得非常容易。requests 模块支持各种 HTTP 方法,如 GET、POST、PUT、DELETE 等,并且具有处理 cookies…...
CAT3D: Create Anything in 3D with Multi-View Diffusion Models 论文解读
24年5月的论文,上一版就是ReconFusion 目录 一、概述 二、相关工作 1、2D先验 2、相机条件下的2D先验 3、多视角先验 4、视频先验 5、前馈方法 三、Method 1、多视角扩散模型 2、新视角生成 3、3D重建 一、概述 该论文提出一种CAT3D方法,实现…...
持续学习入门
参考视频(一) 【学无止境:深度连续学习】 背景 更新新的数据时,数据异步输入,会有灾难性遗忘 现有解决策略 (1)引入正则约束(2)设计合适的动态模型架构 ÿ…...
打破平台壁垒:Windows上安装APK文件的完整解决方案
打破平台壁垒:Windows上安装APK文件的完整解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想过在Windows电脑上直接运行安卓应用ÿ…...
用PyTorch和ECANet18搞定RAF-DB表情分类:从数据集下载到模型部署的保姆级教程
基于ECANet18的RAF-DB表情识别实战:从零构建高精度分类模型 人脸表情识别(FER)作为计算机视觉领域的重要分支,在情感计算、智能交互等领域展现出巨大潜力。本文将带您完整实现一个基于PyTorch和ECANet18的端到端表情识别系统&…...
ncmdumpGUI:3分钟掌握网易云音乐ncm格式转换的终极方案
ncmdumpGUI:3分钟掌握网易云音乐ncm格式转换的终极方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经在网易云音乐下载了心爱的歌曲&a…...
别再死记硬背了!用MATLAB手把手教你画根轨迹图(附代码与避坑指南)
MATLAB实战:从零绘制根轨迹图的完整指南与避坑技巧 在控制系统的设计与分析中,根轨迹图是理解系统动态特性的重要工具。传统教学中,学生往往被要求死记硬背绘制规则,却难以理解其实际应用价值。本文将彻底改变这一现状——通过MAT…...
Copaw_dev:AI编程助手增强框架,提升代码生成与自动化开发效率
1. 项目概述:Copaw_dev 是什么,以及它为何值得关注如果你是一名开发者,尤其是对自动化、代码生成或者AI辅助编程感兴趣,那么“Copaw_dev”这个项目标题很可能已经引起了你的注意。乍一看,这个由“G-Divine”维护的项目…...
技术解构:逆向工程视角下的百度网盘下载链接解析机制
技术解构:逆向工程视角下的百度网盘下载链接解析机制 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 想象一下,当你收到朋友分享的百度网盘链接时&…...
Git Worktree CLI工具:告别分支切换焦虑,实现高效并行开发
1. 项目概述与核心价值如果你和我一样,长期在多个Git分支间穿梭,同时维护着几个不同的功能特性或修复补丁,那你一定对那种在分支间反复切换、代码状态混乱、甚至不小心提交到错误分支的“切分支焦虑症”深有体会。传统的git checkout或git sw…...
MySQL-MVCC核心原理-版本链ReadView与可见性判断
MVCC 全称是 Multi-Version Concurrency Control,也就是多版本并发控制。它的核心思想是:为同一行数据维护多个版本,让读写在很多情况下不用互相阻塞。 没有 MVCC 时,读写冲突通常要大量依赖锁。MVCC 让普通 select 可以读一个可见…...
基于Trinket M0与伺服电机的宠物激光护目镜DIY全攻略
1. 项目概述与核心思路给自家毛孩子做个赛博朋克风的万圣节装备,这个想法在我脑子里盘桓很久了。市面上那些宠物装饰要么千篇一律,要么就是简单的布料缝制,总感觉少了点“硬核”的趣味。直到我看到伺服电机和激光二极管这两个小玩意儿&#x…...
OpenClaw 快速接入 MiniMax 图文指南
OpenClaw连接MiniMax图文教程 前置准备 已安装并可以正常打开 OpenClaw Windows。 OpenClaw 顶部 Gateway 状态保持在线。 电脑可以正常联网并访问 MiniMax 开放平台。 建议提前准备好 MiniMax 开放平台账号。 如果账户余额为 0.00,需要先充值后再调用接口。 …...
