首页 > 原创文章 > 软件开发 > 查看文章

微信小程序实现pdf/doc等文档预览并可以保存下载的方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-04-16 23:32 浏览: 4934 IP属地: 深圳
微信小程序开发

微信小程序可以实现文档的在线预览及保存本地下载,支持的格式有pdf/doc/xls/ppt等常用文档类型,如图:

微信图片_20250416232157.jpg

微信图片_20250416232204.jpg

除了对办公文档进行预览,还可以进行转发、收藏、保存手机本地等其他操作。

实现该功能的思路为,先用downloadFile下载文件到本地,然后使用openDocument方法来打开文档预览。
具体代码如下:

uni.downloadFile({
	url:文件url,
	success: function (res) {
		uni.openDocument({
			filePath: res['tempFilePath'],
			fileType: 'doc',
			showMenu: true,
			success: function (res) {
				
			},
			fail: function (res) {
				console.log('打开PDF失败', res);
			}
		})
	},
	fail: function (res) {
		console.log('打开PDF失败', res);
	}
});

以上代码为打开doc文件预览的方法,其中showMenu参数为,打开文件后是否允许有转发、收藏、保存手机本地等操作菜单,默认为false,如果需要则设置为true即可。

此代码将会把文档下载到本地,保存为临时文件然后打开。打开时顶部标题栏显示的文件名为临时文件名,如果想在标题栏显示自定义名称,则在downloadFile方法中,增加参数filePath,即指定保存路径,保存到指定路径时即对文件进行了命名。然后在openDocument中的filePath就不是res['tempFilePath']了,而是设置为刚才的指定路径即可。

相关文章

My97DatePicker在iframe页...

问题描述:在使用iframe的框架系统中,左侧菜单,右侧为iframe页面区域,由左侧的菜单控制右侧的iframe链接显示页面。每个页面都由my97datepicker,在刷新网页首次打开右侧页面内容时,触发WdatePicker显示日...

FastAdmin 顶部navtab 刷新页...

在使用fastadmin的日常开发中,新增了一个订单模块order,在各项功能都开发完毕后,偶然发现这个页面每次一点刷新(浏览器刷新),顶部navtab就不显示"订单管理"4个字,图标也恢复成了默认的,在网上搜了相关...

Tiny编辑器无法使用的解决办法

TinyMCE编辑器,是一款轻量级的的网页内容编辑器,支持html,vue,react等前端架构。调用方法也非常简单,引入js文件,在textarea上设置id,然后调用方法即可:<scripttinymce.init({ sel...

使用ACME申请SSL证书提示Error c...

在使用ACME申请SSL证书时,输入了命令:acme.sh --issue -d www.xxx.com --dns dns_dp --server xxx来生成证书,但是结果却返回:Error creating new order. ...

推荐文章

宝塔"在未指定SSL默认站点时,未开启SSL...

宝塔系统相关问题解决方法

CodeIgniter框架URL如果去掉in...

在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才...

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_随机...

Javascript复制对象改变原值的解决办...

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={ "a":1, "b":2 } let new=old; new['c']=3;...