微信小程序中的文件查看方法

获得后缀名判断类型,如果是图片用ex.previewImage(),如果是视频,用uni.previewMedia(),如果是word文档这些的,用 uni.downloadFile来下载资源后用 uni.saveFile来保存到本地,uni.openDocument来打开新的网页,如果打不开的话则返回说到PC端去打开

 const lookFile = (url) => {let index = url.lastIndexOf('.');let filttype = url.slice(index + 1);if (url.includes('?token')) {filttype = url.split('?token')[0].split('.').slice(-1);}uni.showLoading({title: '加载中',mask: true,});if (['bmp', 'jpg', 'jpeg', 'png', 'gif', 'image'].some((item) => item == filttype)) {uni.previewImage({current: url, // 当前显示图片的 http 链接urls: [url], // 需要预览的图片 http 链接列表success() {uni.hideLoading();},});} else if (['mp4', 'avi'].some((item) => item == filttype)) {uni.previewMedia({sources: [{url,type: 'video',},], // 需要预览的资源列表current: 1, // 当前显示的资源序号,success() {uni.hideLoading();},fail: function (err) {uni.showToast({title: '播放失败',icon: 'none',});console.log(err);},});} else if (['zip', 'rar'].some((item) => item == filttype)) {uni.showToast({title: '暂不支持预览',icon: 'none',});} else {uni.downloadFile({//下载url, // 从后端获取的url地址,赋值在标签的data属性上header: {token: uni.getStorageSync('token'),'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',},success: function (res) {const tempFilePath = res.tempFilePath;uni.openDocument({//新开页面打开文档filePath: tempFilePath,showMenu: true,fileType: filttype,success: function (res) {console.log('打开文档成功');},fail: function (err) {console.log('打开文档失败', err);},complete: () => {uni.hideLoading();},});/* uni.saveFile({//保存文件到本地tempFilePath,success(res) {const savedFilePath = res.savedFilePath;const filttypeName = filttype;uni.openDocument({//新开页面打开文档filePath: savedFilePath,showMenu: true,fileType: filttypeName,success: function (res) {console.log('打开文档成功');},fail: function (err) {console.log('打开文档失败', err);},complete: () => {uni.hideLoading();},});},}); */},fail: function (err) {uni.showToast({title: '下载失败',icon: 'none',});console.log(err);},});}
};

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

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

相关文章

传统企业营销新起点:百科词条构建基础策略!

合作咨询联系竑图 hongtu201988 搜索你的企业名称,出现的结果是什么?是否大部分都是信用网站的基础注册信息?没有正面的企业形象展示? 如果企业做了百度词条呢?会是一个什么结果呢? 以上两种结果带给大家的…

百度智能云千帆 ModelBuilder 大模型服务及开发解读

本文整理自百度云智峰会 2024 —— 大模型平台技术实践论坛的同名演讲。 更多大会演讲内容,请访问: https://cloud.baidu.com/summit/AIcloudsummit_2024/index.html 最近大模型产业应用圈子里有一句非常流行的话,叫做度日如年。不是说这件…

GIS_地理空间数据_坐标系统

文章目录 一、1. 二、 一、 1. 二、

自动化检查网页的TDK,python+selenium自动化测试web的网页源代码中的title,Description,Keywords

首先,TDK是什么?对于新手小白来说,可能是懵逼的,所以这里给出一个官方的解说‌网页的TDK是指标题(Title)、描述(Description)和关键词(Keywords)的集合‌。这…

【服务器】服务器 BMC(基板管理控制器,Baseboard Management Controller)

基板管理控制器(BMC,Baseboard Management Controller)是用于监控和管理服务器的专用控制器,用通俗的话讲,BMC 是主机服务器系统下的一个独立系统。这个独立系统有自己的处理器和内存,即使主机硬件或操作系…

开源限流组件分析(一):juju/ratelimit

文章目录 本系列前言数据结构对外提供接口初始化令牌桶获取令牌 核心方法adjustavailableTokenscurrentTicktakeTakeAvailableWait系列 本系列 开源限流组件分析(一):juju/ratelimit(本文)开源限流组件分析&#xff0…

Race Track Generator Ultimate:Race Track Generator(赛车场赛道看台场景创建工具)

下载:​​Unity资源商店链接资源下载链接 效果图:

【论文阅读】Bi-Mamba+: Bidirectional Mamba for Time Series Forecasting

文章目录 概要阅读背景知识引言创新之处 研究方法概述方法部分的核心模块多尺度打补丁(Multi-Scale Patching)Mamba:全局模式专家Local Window Transformer(LWT):局部变化专家长短期路由器(Long…

Bootstrap Blazor实现多个Select选择器联合选择

Bootstrap Blazor官方目前只提供单个Select选择器,如果要想实现下图所示的多个Select选择器联合选择,则需要通过编写自定义组件来实现。 主要通过Bootstrap的data-bs-toggle属性来实现展开和折叠效果。 .razor文件内容如下: typeparam TValu…

Rust语法基础

注释 所有的开发者都在努力使他们的代码容易理解,但有时需要额外的解释。在这种情况下,开发者在他们的源码中留下注释,编译器将会忽略掉这些内容,但阅读源码的人可能会发现有用。 和大多数的编程语言一样,主要有一下两种: 单行注释 // 多行注释 /* */ 基本数据类型 Ru…

【路径规划】蚁群算法的优化计算——旅行商问题(TSP)优化

摘要 旅行商问题(TSP)是一种经典的组合优化问题,其目标是找到一条遍历所有城市且总路程最短的环路。由于其计算复杂度高,求解大规模TSP问题往往依赖于启发式算法。本文研究了基于蚁群算法(Ant Colony Optimization, A…

2024.10.19小米笔试题解

第一题数独计数 考虑dfs遍历所有情况 n = int(input())def check(grid, x, y, v):dx = [1, 0, -1, 0]dy = [0, 1, 0, -1]for i in range(4):nx, ny = x + dx[i], y + dy[i]if 0 <= nx < 3 and 0 <= ny < 3:if grid[nx][ny] == 0:continueif abs(grid[nx][ny] - v…

034_基于php万怡酒店管理系统

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

python之数据结构与算法(数据结构篇)-- 字典

一、字典的概念 这里我使用“小羊们”举例子&#xff0c;现在我需要去创建一个"羊村小羊们的身高"字典去保存小羊们的身高&#xff0c;对小羊们的身高进行查询、增加、删除、遍历等一系列操作。去更好的理解&#xff0c;字典是个什么东东&#xff01;&#xff01;&…

Java根据word 模板,生成自定义内容的word 文件

Java根据word 模板&#xff0c;生成自定义内容的word 文件 背景1 使用技术2 实现方法依赖啊 3 问题4 背景 主要是项目中需要定制化一个word&#xff0c;也就是有一部分是固定的&#xff0c;就是有一个底子&#xff0c;框架&#xff0c;里面的内容是需要填充的。然后填充的内容…

Qt中的Base64编码

Qt中的Base64编码 Qt之Base64编解码 Base64编码是一种用于表示二进制数据的文本编码方式&#xff0c;通常用于在需要通过文本传输二进制数据的场景中&#xff0c;比如在电子邮件和URL中传递数据。它将二进制数据转换为由64个ASCII字符组成的字符串&#xff0c;便于在文本环境中…

宝塔部署前后端分离若依项目--CentOS7版

准备&#xff1a; CentOS7服务器一台 通过网盘分享的文件&#xff1a;CentOS 7 h 链接: https://pan.baidu.com/s/17DF8eRSSDuj9VeqselGa_Q 提取码: s7x4 大家有需要可以下载这个&#xff0c;密码61 若依前端编译后文件 通过网盘分享的文件&#xff1a;ruoyi-admin.jar 链…

基于SSM网络在线考试系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;在线考试管理&#xff0c;试题管理&#xff0c;考试管理&#xff0c;系统管理 前台账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;在线考试&#xff0c;公告信…

MySQL 实现简单的性能优化

一&#xff1a;硬件优化 更高的网络带宽&#xff1a;在处理大规模的远程请求时可以提高MySQL服务器的响应速度&#xff1b; 更大的内存空间&#xff1a;有助于缓存更多的数据库数据&#xff0c;减少磁盘I/O操作&#xff0c;提高整体性能&#xff1b; 换用企业级SSD&#xff1…

题解:P11215 【MX-J8-T3】水星湖

好久没写题解了&#xff0c;交一发吧。 题目传送门 思路讲解 我们用一个结构体 struct 存储每一个格子的状态&#xff0c;tp 表示格子的类型&#xff0c;t 表示如果该格子种过树&#xff0c;种树的最近时间&#xff0c;die 表示如果该格子有树&#xff0c;这棵树会不会永远都…