下面这串代码什么作用? async takePhoto() { if (this.cameraOn) {//摄像头是否开启 开启了才执行上传信用图片 //获得Canvas对象 let video = document.getElementById('video') let canvas = document.getElementById('canvas') let ctx = canvas.getContext('2d') ctx.drawImage(video, 0, 0, 200, 200) // toDataURL --- 可传入'image/png'---默认, 'image/jpeg' let img = document.getElementById('canvas').toDataURL() //构造post的form表单 let formData = new FormData() //convertBase64UrlToBlob函数是将base64编码转换为Blob formData.append('file', this.base64ToFile(img, 'examTakePhoto.png')) //上传阿里云OSS await ossUtils.uploadImage(formData).then((resp) => { if (resp.code === 200) this.takePhotoUrl.push(resp.data) }) }
时间: 2024-04-28 08:19:26 浏览: 114
用于图片上传的代码
这段代码的作用是:当摄像头开启时,调用 takePhoto() 函数,使用 canvas 将视频流截取成宽高都是 200px 的图片,然后将图片转成 base64 编码,再将其转换为 Blob 对象,最终将该 Blob 对象上传至阿里云 OSS 对象存储中。同时,上传成功后将返回的 URL 存储在 takePhotoUrl 数组中。 这段代码是一个用于上传信用图片的函数,在摄像头开启后,调用该函数就可以将截取的图片上传至阿里云 OSS 中。
阅读全文