uni-app预览文件的方法

//其中url是文件的地址
export function hanldePreview_g(url) {
	console.log("url--->", 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) {
			console.log("res--->", res)
			var filePath = res.tempFilePath;
			if (white_filetype.indexOf(fileType) != -1) {
				uni.openDocument({
					filePath: filePath,
					showMenu: true,
					success: function(res) {
						console.log('打开文档成功');
					},
					fail: function(err) {
						console.log('打开文档失败--->', 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) {
							console.log(err.errMsg);
							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) {
						console.log(err);
						uni.showToast({
							title: err.errMsg,
							icon: 'none'
						})
						//预览失败
					}
				})
			} else {
				uni.showToast({
					title: '不支持打开该类型文件',
					icon: 'none'
				})
			}

		},
		fail: function(err) {
			console.log("err--->", err)
			uni.showToast({
				title: err.errMsg,
				icon: 'none'
			})
		}
	});
}

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值