首页 > 其他分享 >Uniapp中文件预览的实现过程

Uniapp中文件预览的实现过程

时间:2023-09-10 23:33:49浏览次数:36  
标签:Uniapp console log 预览 文件 res uni 下载

本期介绍一下文件预览在uniapp中的具体实现!

本文可能比较简单,但是也是比较实用,希望对大家有所帮助。

文件预览

我们无论在APP还是各大小程序上都不能直接预览,需要先下载缓存到本地才能预览

文件下载

使用uni.downloadFile先把文件缓存到本地

uni.downloadFile({
    url: fileUrl,
    success: (res) => {
        if (res.statusCode === 200) {
            // 下载成功
            // 本地缓存地址 res.tempFilePath
        } else {  
            console.log("下载失败========>", res)
        }
    },
    fail: err => {
        console.log("下载失败========>", err)
    }
})

若是小程序,下载地址需在小程序后台下载白名单配置!

预览

使用uni.openDocument,新开页面打开文档,支持格式:doc, xls, ppt, pdf, docx, xlsx, pptx。

uni.openDocument({
    // uni.downloadFile 的 res.tempFilePath
    filePath:filePath,
    // 文件类型 支付宝小程序必填仅支持pdf,其他非必填
    fileType:fileType,
    // 右上角是否有可以转发分享的功能
    showMenu:true,
    success: (res) => {
        if (res.errMsg === 'openDocument:ok') {
            // 文档打开成功
        } else {  
            console.log("文档打开失败========>", res)
        }
    },
    fail: err => {
        console.log("文档打开失败========>", err)
    }
})

Uniapp中文件预览的实现过程_文件类型

文件预览

文件格式

如果后端未告诉我们文件类型,可采取以下措施

// url 是文件路径
let arr = url && url.split(".") || []
return arr.length ? arr[len - 1] : ""

如果感觉有帮助,麻烦3连(关注、赞、在看),谢谢! 后面会更新更多。

Uniapp中文件预览的实现过程_文件类型_02

关注公众号了解更多

标签:Uniapp,console,log,预览,文件,res,uni,下载
From: https://blog.51cto.com/u_16123566/7428827

相关文章

  • Win32编程之资源文件(三)
    一、菜单资源的使用1.菜单的分类窗口的顶层菜单弹出式菜单系统菜单HMENU类型表示菜单,ID表示菜单项2、菜单资源的使用 (1).注册窗口类时设置菜单 (2).创建窗口传参设置菜单 (3).在主窗口WM_CREATE消息中利用SetMenu函数设置菜单 加载菜单资源HMENULoadMenu( ......
  • Linux:文件压缩解压gz、tar.gz、tar.xz、tar.bz2、tgz、zip
    (目录)tar#.tartar-xvfarchive.tartar.gz、tgz1、压缩tar-zcvf压缩文件名.tar.gz被压缩文件名#不保留文件路径tar-zcvf压缩文件名.tar.gz-C压缩前切换目录被压缩文件名参考如何在不保留目录结构的情况下tar目录?2、解压tar-zxvf压缩文件名.tar.gz#......
  • cnpm : 无法加载文件 C:\Program Files\nodejs\node_global\cnpm.ps1
    在win10上运行cnpm命令时出现:cnpm:无法加载文件C:\ProgramFiles\nodejs\node_global\cnpm.ps1,因为在此系统上禁止运行脚本。解决办法记录如下: 在powershell中执行Start-Processpowershell-VerbrunAs会提示授权,并以管理员身份运行powershell 继续重新执行set-Ex......
  • Linux删除文件夹命令
    Linux删除文件夹命令在Linux系统中,要删除文件夹,可以使用以下命令:1.rm命令rm命令用于删除文件和目录。要删除一个空文件夹,可以使用以下命令:rm-rfolder_name其中,-r选项表示递归删除,即删除文件夹及其内部的所有文件和子文件夹。如果要删除非空文件夹,可以使用以下命令:rm-rffolder_......
  • 纯前端也可以访问文件系统!
    前言周末逛github的时候,发现我们只需要在github域名上加上1s他就能够打开一个vscode窗口来阅读代码,比起在github仓库中查看更加方便然后我就想网页端vscode能不能打开我本地的项目呢,带着这个疑惑我打开了网页版vscode,它居然真的可以打开我本地的项目代码!难道又出了新的API让......
  • SpringBoot 如何实现文件上传和下载
    当今Web应用程序通常需要支持文件上传和下载功能,SpringBoot提供了简单且易于使用的方式来实现这些功能。在本篇文章中,我们将介绍SpringBoot如何实现文件上传和下载,同时提供相应的代码示例。 文件上传SpringBoot提供了Multipart文件上传的支持。Multipart是HTTP协议中的一种......
  • mybatisplus中按照条件查询的三种方式,常用的是lambda查询,当进行测试查询的时候,可以将
    2023-09-10目录结构 logback.xml<?xmlversion="1.0"encoding="UTF-8"?><configuration></configuration>application.ymlspring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://loca......
  • My头文件(2)
    自定义头文件"almighty.h"持续更新头文件内部内容:#ifndef_ALMIGHTY_#define_ALMIGHTY_#include<bits/stdc++.h>usingnamespacestd;#definesdsigned#defineudunsigned#definectconst#definescstatictypedefinti4;typedeflonglongi8;typedeffl......
  • Jenkins windows 下 'pytest' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    问题现象: 解决:     ......
  • php实现文件上传下载功能
    文件的上传与下载是项目中必不可少的模块,也是php最基础的模块之一,大多数php框架中都封装了关于上传和下载的功能,不过对于原生的上传下载还是需要了解一下的。基本思路是通过form表单post方式实现文件上传,通过流输出的方式实现文件下载。以下分别讲述实现的具体细节。一、文件的上......