uniapp微信小程序uni.openDocument打开预览小程序提示openDocument:fail filetype not supported,解决方案

1.uni.openDocument点击提示类型错误无法打开

在这里插入图片描述
支持的类型:
在这里插入图片描述

2.url为pdf依旧无法打开,原因是tempFilePath返回的后缀为 .bin

在这里插入图片描述

3.只需要加个fileType属性即可

在这里插入图片描述

4.完整代码

	hanldePreview(url) {
				let index = url.lastIndexOf('.');
				let fileType = url.substring(index + 1, url.length);
				let white_filetype = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf']
				let white_image = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'ico', 'wbmp', 'fax', 'net', 'rp', 'jfif', 'jpe',
					'tiff', 'tif'
				]
				let white_media = ['mp3', 'wav', 'flac', 'aac', 'mp4', 'avi', 'wmv', 'mov', 'flv']
				uni.downloadFile({
					url: url,
					success: function(res) {
						var filePath = res.tempFilePath;
						console.log('filePath',filePath)
						if (white_filetype.indexOf(fileType) != -1) {
							console.log(123121312)
							uni.openDocument({
								filePath: filePath,
								showMenu: true,
								fileType:fileType,
								success: function(res) {
									console.log('打开文档成功');
								},
								fail: function(err) {
									uni.showToast({
										title: err.errMsg,
										icon: 'none'
									})
								},
							});
						} else if (white_image.indexOf(fileType) != -1) {
							uni.previewImage({
								urls: [filePath],
								longPressActions: {
									itemList: ['发送给朋友', '保存图片', '收藏'],
									success: function(data) {

									},
									fail: function(err) {
										uni.showToast({
											title: err.errMsg,
											icon: 'none'
										})
									}
								}
							});
						} else if (white_media.indexOf(fileType) != -1) {
							wx.previewMedia({
								sources: [{
									url: filePath, //图片或者视频所在路径
									type: 'video', //图片为image,视频为video
								}],
								success(res) {
									//预览成功
									// uni.showToast({
									// 	title: "预览成功",
									// 	icon: "none"
									// })
								},
								fail(err) {
									uni.showToast({
										title: err.errMsg,
										icon: 'none'
									})
									//预览失败
								}
							})
						} else {
							uni.showToast({
								title: '不支持打开该类型文件',
								icon: 'none'
							})
						}

					},
					fail: function(err) {
						console.log(err)
						uni.showToast({
							title: err.errMsg,
							icon: 'none'
						})
					}
				});
			}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葫芦娃y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值