调用wx.openDocument,文件或文件夹不在白名单中, 上传时会被忽略, 在真机上可能无法读取

1.这个问题可能是由于微信小程序的安全策略导致的。微信小程序对于网络请求和文件读取都有一些限制,其中包括白名单机制。如果你的小程序中的文件不在白名单中,那么在真机上可能无法读取。

怎么解决这个问题,我们先使用uni.downloadFile把后台接口或者本地的PDF以及其他格式转为获取到本地临时路径。然后再使用uni.openDocument就可以了。

[代码] 复制就能用。

Click() {

//this.YM 是我的域名
//this.SyzyPDF  是接口返回的pdf半路径

	uni.downloadFile({
		url: this.YM + this.SyzyPDF,
			success: function(res) {
				if (res.statusCode === 200) {
						var filePath = res.tempFilePath; // 获取到本地临时路径
						// 调用wx.openDocument打开文件
						uni.openDocument({
						   filePath: filePath,
						   success: function(res) {
								console.log('打开文档成功')
							},
							fail: function(err) {
								console.log('打开文档失败', err)
							}
							})
						}
					},
					fail: function(err) {
						console.log('下载文件失败', err)
					}
				})
			},

你可能感兴趣的:(微信,uni-app,前端,微信小程序)