小程序 uniapp 点击附件 下载文件并预览

checkFile(url) {
		const _this = this
		// 图片格式
		let isImgType = ['png', 'jpg', 'jpeg']
		// 下载
		uni.downloadFile({
			url,
			success(res) {
				// 下载成功
				if(res.statusCode==200){
					// 获取文件类型 后缀
					let fileType = _this.getfileName(res.tempFilePath)
							// 判断是否为图片
							// 因为图片查看与文件查看预览的api不同所以这里需要判断
							if (isImgType.includes(fileType)) {
								// 图片预览
								uni.previewImage({
									//说明
									current: res.tempFilePath,
									//预览的图片集   可以是多张图片需要Array类型
									urls: [res.tempFilePath],
								})
							} else {
								// 文件预览
								uni.openDocument({
									// 文件路径
									filePath: res.tempFilePath,
									// 文件类型 除图片以外文件都需要文件类型  
									//有效值为  doc, xls, ppt, pdf, docx, xlsx, pptx
									fileType: fileType,
									//是否开启转发 
									showMenu: true,
								})
							}
						}
					}
				})
			},
			getfileName(filename) {
				// 转换为小写方便处理 拿到.的下标
				const pos = filename.toLowerCase().lastIndexOf('.')
				let suffix = ''
				// 判断是否是文件或图片
				if (pos !== -1) {
					// 拿到截取.的下标后面所有字符(这样就拿到了文件类型)
					suffix = filename.substring(pos+1)
				}
				return suffix
			},
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值