uniapp 调起摄像头并将视频转为base64

next() {
	// 调起摄像头
	uni.chooseVideo({
		count: 1,
		sourceType: ['camera'],
		camera: 'front',
		success: (res) => {
			this.tempFilePath = res.tempFilePath;
			var xhr = new XMLHttpRequest()  
			xhr.responseType = 'blob'  
			//如果是指xhr.responseType = 'blob',将返回一个Blob对象,而不是文本;
			xhr.onload = () => {
				let reader = new FileReader()  
				reader.onload = (e) => {
					this.videoBase64 = e.target.result
					const params = {
						IdCard: this.info.idNum,
						LivenessType: "ACTION",
						Name: this.info.name,
						ValidateData: this.action.actionSequence,
						VideoBase64: this.videoBase64.split(',')[1]
					}
					// 活体人脸核身
					this.loading()
					faceAuthentication(params).then(faceRes => {
						if(faceRes?.data?.result == 'Success') {
                            // 成功的回调
							this.$emit('next', 'success')
						} else {
                            // 失败的回调
							this.$emit('next', 'error', faceRes.message)
						}
					}).catch(err => {
                        // 失败的回调
						this.$emit('next', 'error')
					}).finally(() => {
						this.hideLoading()
					})
				}  
				let rs = reader.readAsDataURL(xhr.response)  
			}  
			xhr.open('get', this.tempFilePath)
			xhr.send()
		}
	});
},
// 系统识别中
loading() {
	uni.showLoading({
		title: '系统识别中',
		mask: true
	});
},
hideLoading() {
	uni.hideLoading();
},

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值