微信小程序:iOS和安卓打开文件PDF(二)------安卓和iOS文件名的修改

两种方法打开PDF,一种是:https://mp.csdn.net/editor/html/112879763,用到的方法是安卓使用官方api:downloadFile 和 openDocument,iOS使用web-view,这种方式打开的文件名是乱码,并且只打开一次

另一种是本文:https://mp.csdn.net/editor/html/113371631  用到的方法是都使用官方提供的api打开,这种方式打开的文件名是可以自定义的,但是安卓会打开两次

 

 

打开PDF用的是wx.downloadFile下载了PDF文件,成功后保存到了本地,然后返回了本地的PDF路径给了wx.openDocument,这才打开的PDF文件

所以在此,官方文档中downloadFIle方法还有一个参数,filePath

所以我们可以是先定义好要存储的路径,包括重命名文件名,然后使用openDocument方法就行了,

//filename是中文文件名,encodename是中文名字的转码(纯英文)
getInfo(filename, encodename) {
		const name = filename + '.pdf'
		const newPath = `${wx.env.USER_DATA_PATH}/${name}`
		wx.downloadFile({
			url:
				this.data.baseUrl + '/report/getFileContext?encodeName=' + encodename,
			filePath: newPath,

			complete: (res) => {
				console.log(res)
				if (res.errMsg == 'downloadFile:ok') {
					// let data = res.tempFilePath
					// let data = res.filePath
					setTimeout(() => {
						wx.openDocument({
							filePath: newPath,
							// showMenu: true,
							// fileType: 'pdf',
							success: (res) => {
								console.log('1111')
								console.log('打开文档成功')
								this.setData({
									loadingVis: false,
								})
							},
							fail(err) {
								console.log(err)
								this.setData({
									loadingVis: false,
								})
							},
						})
					}, 1000)
				} else {
					this.setData({
						loadingVis: false,
					})
				}
			},
		})
	},

但是这里会出现一个问题,安卓打开PDF会打开两遍,一个是小程序内部的一个是手机浏览器的,解决方法还未找到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值