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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-04-16 23:32 浏览: 4081 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']了,而是设置为刚才的指定路径即可。

相关文章

使用C#读取Excel文件内容的两种方法

使用c#读取excel文件可以通过OleDbDataAdapter来进行读取,将excel文件作为数据库,以检索数据的方式来读取excel内容。具体代码如下:varfileName=string.Format("{0}\\fi...

做网站用H5好还是用VUE好?

今天有同学问,要做一个网站,技术方面是用html5呢还是用vue呢?丁老师给你解答。其实,用html5和用vue,都可以做网站,但是就架构适用性来说,html5和vue有不同的特点。html5做网站的优点:1.快速开发,上手简单,不需要...

小程序开发的流程费用以及需要什么准备材料?

小程序定制开发的流程和费用,以及需要准备的材料,(包括但不限于微信小程序、百度小程序、支付宝小程序、抖音小程序、小红书小程序)具体如下:一、小程序开发的行政流程1.确定软件开发公司,和开发公司签订合同2.甲方支付首期开发费用3.乙方开始...

百度Ueditor附件上传去除前边的图标

百度ueditor在使用附件上传时,会自动在附件链接前边添加一个图标,这个图标不仅不美观,而且会暴露出ueditor的真实地址,给不法分子可乘之机,所以研究了下直接去掉。解决方法:ueditor.all.js里搜索dialogs/att...

推荐文章

fastadmin后台列表默认分页数量由10...

没那么多废话,直接上修改方法public\assets\js\require-table.jspageSize: Config.pagesize || localStorage.getItem("pagesize") |...

phpstorm怎么取消html文件中sty...

phpstorm程序中,在打开html时总会出现对style属性的折叠和隐藏,这样在检查代码的时候非常不直观,容易漏掉很多东西,非常的不方便,如图:

Hbuilder开发APP时,找不到真机的解...

正确的USB连线,其次打开开发者选项、USB调试,这些都是老生常谈,就不说了。在确保以上操作无误后,如果还找不到真机,关闭IDE,然后去adb的目录下,即HBuilderX\plugins\launcher\tools\adbs,把adb....

js复制对象改变原值的解决办法

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