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

news/2024/10/20 10:09:22/

获得后缀名判断类型,如果是图片用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.ppmy.cn/news/1540488.html

相关文章

Gin框架操作指南03:HTML渲染

官方文档地址(中文):https://gin-gonic.com/zh-cn/docs/ 注:本教程采用工作区机制,所以一个项目下载了Gin框架,其余项目就无需重复下载,想了解的读者可阅读第一节:Gin操作指南&#…

pdf文件怎样一张纸打印四页

在日常工作和学习中,我们经常会遇到需要将PDF文件中的多页内容合并打印到一张纸上的情况,比如将四页内容打印到一张A4纸上,以节省纸张和成本。同时,在打开pdf文件的方式,一般都是通过电脑浏览器打印,因此对…

外部服务器如何访问专用网络的本地IP

在专用网络(如公司内网、专用局域网等)中的 IP 地址,也属于本地 IP 地址。这些地址仅在专用网络内部使用,不能直接从互联网访问。本地 IP 地址的范围通常包括以下几类私有地址段: 10.0.0.0 到 10.255.255.255172.16.0…

Unity中通过给定的顶点数组生成凸面体的方法参考

这里我们使用了Quickhull for Unity插件,其实就是一个ConvexHullCalculator.cs文件,代码如下: /*** Copyright 2019 Oskar Sigvardsson** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software…

SQL实现给表添加数据及其触发器操作

新建一个表实现添加数据,数据不重复,。判断两个字段是否存在,如果存在,就修改对应字段,如果不存在就新增数据。 测试表格Test如下: 新建触发器如图: 触发程式如下: USE [Test] GO/*…

Java最全面试题->Java基础面试题->JavaWeb面试题->Git/SVN面试题

Git/SVN面试题 下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图 哪里不会点哪里 Git和SVN有什么区别? Git是分布式的,而SVN不是分布式的Git把内容按元数据方式存储&#xf…

python项目实战——下载美女图片

python项目实战——下载美女图片 文章目录 python项目实战——下载美女图片完整代码思路整理实现过程使用xpath语法找图片的链接检查链接是否正确下载图片创建文件夹获取一组图片的链接获取页数 获取目录页的链接 完善代码注意事项 完整代码 import requests import re import…

Wails 学习笔记:Wails核心思想理解

文章目录 1. Wails 的核心思想2. 工作流程2.1 前端渲染2.2 后端逻辑2.3 前后端通信2.4 应用打包与分发 3. Wails 主要组件3.1 WebView3.2 事件与数据绑定3.3 窗口管理 4. Wails 的优点5. Wails 的使用场景6. 启动函数Runwails.Run() 的主要功能wails.Run() 的参数:w…