你想要的PDF预览新方式,微信小程序绝对不容错过

news2024/10/6 12:29:51

前言

随着微信小程序的不断发展和变革,越来越多的功能被开发出来,其中预览 PDF 文件功能也已经成为小程序的常见应用之一。今天,我们将针对微信小程序预览 PDF 这一功能,为大家详细解析和介绍。


实现思路

  1. 在小程序界面中添加一个按钮,并为其绑定一个点击事件;
  2. 在事件中调用 wx.downloadFile 方法,指定要下载的 pdf 文件的 url 和存储路径;
  3. 下载完成后,再调用 wx.openDocument 方法打开该文件预览。在调用此方法时,需要把之前存储的文件路径传入。

注意: 由于微信小程序的安全限制,必须先调用 wx.downloadFile 方法下载文件,才能在小程序中打开该文件。


wx.downloadFile(Object object)

参数

参数类型是否必填说明
urlstring下载资源的 url
headerObjectHTTP 请求的 Header,Header 中不能设置 Referer
timeoutnumber超时时间,单位为毫秒
filePathstring指定文件下载后存储的路径 (本地路径)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例

wx.downloadFile({
  url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
  success (res) {
    // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
    if (res.statusCode === 200) {
      wx.playVoice({
        filePath: res.tempFilePath
      })
    }
  }
})

该方法的完整文档信息大家可以『点击这里』查看。


wx.openDocument(Object object)

参数

参数类型是否必填说明
filePathstring文件路径 (本地路径) ,可通过 downloadFile 获得
showMenuboolean默认值为false,是否显示右上角菜单
fileTypestring文件类型,指定文件类型打开文件
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

示例

wx.downloadFile({
  // 示例 url,并非真实存在
  url: 'http://example.com/somefile.pdf',
  success: function (res) {
    const filePath = res.tempFilePath
    wx.openDocument({
      filePath: filePath,
      success: function (res) {
        console.log('打开文档成功')
      }
    })
  }
})

该方法的完整文档信息大家可以『点击这里』查看。


实践

看到这里,相信大家对这两个方法已经有了一定的了解,下面我们直接用一个更完整的实例来帮助大家更好的使用该方法实现预览 pdf 的功能。话不多说,下面直接看代码。

wxml 文件

<view>
	<button bindtap="itemPdfOn" type="primary">点我预览</button>
</view>

js 文件

Page({
    // 查看pdf事件方法  
    itemPdfOn() {
        wx.showLoading({
            title: '加载中',
        })
        // 下载文件方法
        wx.downloadFile({
            url: 'https://s30.aconvert.com/convert/p3r68-cdx67/ah4fu-1s24x.pdf',
            success: function (res) {
                var Path = res.tempFilePath //返回的文件临时地址,用于后面打开本地预览所用
                wx.openDocument({
                    filePath: Path,
                    success: function () {
                        console.log("打开文档成功");
                        wx.hideLoading()
                    }
                })
            },
            fail: function (res) {
                console.log(res);
            }
        })
    },
})

实现效果

在这里插入图片描述

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

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

相关文章

Mac苹果电脑杀毒软件CleanMyMac X

CleanMyMac X上手完全没难度。CleanMyMac X拥有非常精美的UI设计&#xff0c;左侧是功能菜单&#xff0c;各个功能板块简洁明了&#xff0c;我想对于小白用户来说上手也是没难度的。 具有强大的防御和恶意程序清除功能。CleanMyMacX不仅是一款Mac清洁软件&#xff0c;也是一款专…

c++ 11标准模板(STL) std::set(十)

定义于头文件 <set> template< class Key, class Compare std::less<Key>, class Allocator std::allocator<Key> > class set;(1)namespace pmr { template <class Key, class Compare std::less<Key>> using se…

基于html+css的图展示84

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

NÜWA:多模态预训练模型,大杀四方!(附源代码下载)

关注并星标 从此不迷路 计算机视觉研究院 ​​​ 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 论文地址&#xff1a;https://arxiv.org/abs/2111.12417 源代码&#xff1a;https:// github.com/microsoft/NUWA 计算机视觉研究院专栏 作者…

GO开篇:手握Java走进Golang的世界

文章目录 一、Golang简介1、Go的诞生2、Go的官网域名3、Go的发展4、Go的设计思想5、Go的特点6、Go的性能7、Go的吉祥物 二、Go和Java的宏观对比1、编译型语言 or 解释型语言2、微观对比 三、Go应用场景1、开源上的应用 四、总结和后续 一、Golang简介 Go&#xff08;又称 Gola…

基于java+springboot+layui的流浪动物交流信息平台设计实现

基于javaspringbootlayui的流浪动物交流信息平台设计实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方…

ES6对象新增了哪些扩展?

一、属性的简写 ES6中&#xff0c;当对象键名与对应值名相等的时候&#xff0c;可以进行简写 const baz {foo:foo}// 等同于 const baz {foo} 方法也能够进行简写 const o {method() {return "Hello!";} };// 等同于const o {method: function() {return &qu…

时局不利,如何化解职场焦虑?

部分数据来源&#xff1a;ChatGPT 在不景气的经济环境下&#xff0c;大多数求职者都面临极大的压力&#xff0c;而技术人员又是其中之一。他们不仅需要不断学习新技能&#xff0c;还需要面对工作市场的竞争&#xff0c;并努力将自己的技能提升到所需的水平。一旦被拒绝或无法找…

半导体设计使用FTP外发文件存在风险,如何安全有效替代?

近几年&#xff0c;基于我国“科技强国”战略目标的实行&#xff0c;以半导体、人工智能、新能源等为代表的的科技型领域及行业快速发展。在半导体行业&#xff0c;以行业产业链来区分&#xff0c;整个行业包括上游材料和设备支撑、中游芯片设计和制造&#xff0c;以及下游移动…

用ArcGIS绘制研究区地图

科研tips&#xff1a;ArcGIS中国地图构建教程 有同学提问&#xff1a;怎么画论文最常用的研究区地图呢&#xff1f; 论文用图对准确性和美观度有一定要求&#xff0c;而ArcGIS具有强大的地图制作功能&#xff0c;可以利用该软件快速制作研究区地图。 01 地图的导入 &#…

C语言CRC-16 DNP格式校验函数

C语言CRC-16 DNP格式校验函数 CRC-16校验产生2个字节长度的数据校验码&#xff0c;通过计算得到的校验码和获得的校验码比较&#xff0c;用于验证获得的数据的正确性。基本的CRC-16校验算法实现&#xff0c;参考&#xff1a; C语言标准CRC-16校验函数。 不同应用规范通过对输…

基于 SpringBoot实现文档管理编辑器

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 本项目实现功能如下&#xff1a;注册、登录和个人资料修改&#xff1b;文档编辑&#xff1a;Markdown 文档的阅读和编辑、发布&#xff1b;文档管理&#xff1b; 使用 Cookies 保存登录状态&#xff1b;在数据库中使用 MD5 保…

【AUTOSAR】【以太网】SD

目录 一、概述 二、限制与约束 三、功能说明 3.1 需求 3.1.1 通用需求 3.1.2 以太网通信 3.1.3 状态处理 3.1.4 与SoAd的交互 3.1.5 订阅事件组重试处理 3.2 报文格式 3.2.1 Entries Array 3.2.2 Opotion Array 3.2.3 示例 3.3 服务发现条目 3.3.1 服务查找相关…

Godot引擎 4.0 文档 - 循序渐进教程 - 使用信号

本文为Google Translate英译中结果&#xff0c;DrGraph在此基础上加了一些校正。英文原版页面&#xff1a; Using signals — Godot Engine (stable) documentation in English 使用信号 在本课中&#xff0c;我们将研究信号。它们是节点在发生特定事件时发出的消息&#xf…

S7-1200中通过MODBUS TCP客户端在一次请求中实现从服务器读写一个或多个保持性寄存器的具体方法

S7-1200中通过MODBUS TCP客户端在一次请求中实现从服务器读写一个或多个保持性寄存器的具体方法 TIA博途V17中增加了MODBUS TCP客户端功能码 23,可以在一次请求作业下实现从服务器读取和写入一个或多个保持性寄存器,这样省去了轮询的编程工作量,提高了工作效率,如下图所示,…

第三章 卷积神经网络

目录 一、CNN 基础二、CNN 进阶 卷积神经网络&#xff0c;Convolutinal Neural Network&#xff0c;CNN 在之前两章的由线性模型构成的神经网络都是全连接神经网络 一、CNN 基础 在之前全连接层处理二维图像的时候&#xff0c;直接将二维图像从 N 1 28 28 N \times 1 \t…

【DolphinScheduler 安装部署】DolphinScheduler调度系统如何安装部署?

要安装DolphinScheduler&#xff08;以下简称DS&#xff09;调度系统&#xff0c;请按照以下步骤进行操作&#xff1a; 系统要求&#xff1a; 确保您的计算机满足DS的最低系统要求&#xff0c;例如操作系统版本、内存和处理器要求等。DS通常在Linux系统上运行良好。 下载DS安装…

k8s部署mongodb副本高可用集群

此版本的NFS为单点&#xff0c;仅为练习使用&#xff0c;生产环境建议使用cephfs的卷类型&#xff0c;避免单点。或者通过keepalived加Sersync的方案对NFS作容灾处理即可用于生产环境。当然&#xff0c;对于开发或测试环境&#xff0c;方便起见&#xff0c;直接使用单点的NFS加…

Oracle OCP 和MySQL OCP 考试完成后查询成绩和下载证书的步骤

我的一些学员考完Oracle OCP和MySQL OCP不知道如何查看自己的考试成绩和证书&#xff0c;姚远老师现在详细说明具体的操作步骤&#xff0c;一共8步。 关于号主&#xff0c;姚远&#xff1a; Oracle ACE&#xff08;Oracle和MySQL数据库方向&#xff09;Oracle MAA 大师华为云…

基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统

基于JavaSpringmvcvueelement实现大学生科技创新创业项目管理系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源…