当前位置: 首页 > news >正文

专注律师微信网站建设网页制作是干什么的

专注律师微信网站建设,网页制作是干什么的,女生学广告学后悔死了,wordpress怎么看产品提了这样一个需求: 移动端拍照上传后图片不保存在用户设备上,试了好几种方法,uni-file-picker、uni.chooseImage、input type‘file’,安卓手机都会默认把图片保存在手机,于是各种查资料,找到了以下方法…

产品提了这样一个需求:
移动端拍照上传后图片不保存在用户设备上,试了好几种方法,uni-file-picker、uni.chooseImage、input type=‘file’,安卓手机都会默认把图片保存在手机,于是各种查资料,找到了以下方法,已验证可行。

1、获取摄像头权限并显示视频流:‌
使用navigator.mediaDevices.getUserMedia()获取摄像头权限,‌并将视频流显示在video标签中。‌
2、拍照:‌
使用HTML的canvas标签来截取当前摄像头的画面,‌并将其转换为图片格式。‌
3、上传图片:‌
使用uniapp的uni.uploadFile()方法将图片上传到服务器。‌

<view class="container"><button @click="initCamera">打开摄像头</button><button @click="takePhoto">拍照</button>
</view>
data() {return {stream: null,videoElement: null}}
mounted() {this.createVideoElement()
},methods: {createVideoElement() {// 一定要用createElement创建 video和canvas 元素,否则用不了其中的方法this.videoElement = document.createElement('video')this.videoElement.setAttribute('autoplay', '')this.videoElement.setAttribute('muted', '')this.videoElement.setAttribute('playsinline', '')// 添加到 DOM 中const container = document.querySelector('.container')container.appendChild(this.videoElement)},async initCamera() {if (this.stream) {this.stopCamera()}try {const constraints = { video: { facingMode: 'environment' }}const stream = await navigator.mediaDevices.getUserMedia(constraints)this.stream = streamthis.videoElement.srcObject = stream} catch (error) {console.error('Error accessing camera:', error)}},// 关闭摄像头stopCamera() {if (this.stream) {this.stream.getTracks().forEach(track => track.stop())this.stream = nullthis.videoElement.srcObject = null}},takePhoto() {this.captureImage()this.stopCamera()},async captureImage() {const canvas = document.createElement('canvas')canvas.width = this.videoElement.clientWidthcanvas.height = this.videoElement.clientHeightconst ctx = canvas.getContext('2d')ctx.drawImage(this.videoElement, 0, 0, canvas.width, canvas.height)// 转化成base64的编码格式const dataUrl = canvas.toDataURL('image/jpeg')this._uploadFileBase64(dataUrl)},// 上传到远程地址_uploadFileBase64(imgUrl) {uploadFileBase64(imgUrl).then(response => {if (response && response.SavePath) {console.log(response.SavePath)this.$uniToast('上传成功')} else {this.$uniToast('上传失败')}})}
}
http://www.yayakq.cn/news/416394/

相关文章:

  • 招聘网站收费标准对比图怎么做网站搭建谷歌seo
  • 江门外贸网站推广方案北京中信建设有限责任公司
  • 嘉兴模板建站系统网络推广的常用方法
  • 网站建设实验分析创新创意产品设计方案
  • 运城建设银行网站点好的模板网站
  • 宿迁哪家做网站推广wordpress 电商小程序
  • 苏州新公司网站建设沈阳模板建站系统
  • 河南国控建设集团招标网站万维网网站301重定向怎么做
  • 深圳响应式设计企业网站淄博网站建设网站推广优化
  • 广州网站制作怎样网络营销的基本特点
  • 网站模板助手网站排名优化技术
  • 免费中文网站模板成都公众号小程序开发
  • 网站建设 500强建站网络架构师工资一般多少
  • 做搜狗网站点击公司网站购买主机
  • 以前的网站忘了怎么办啊深圳网站建设知名公司
  • 企业网站建设的意义和效果做网站需要哪些成本
  • shopify做国内网站windows装wordpress
  • 长春网站长春网络推广建设注册科技有限公司可以做网站吗
  • 河南省建设厅网网站首页wordpress主题免费和付费
  • 南山网站建设 信科网络wordpress设置新页面
  • 封丘县建站塔山双喜室内设计个人工作室
  • 文化网站建设福州精美个人网站建设公司
  • 大潮建设集团有限公司 网站如何建设 linux 网站
  • 坑人网站怎么做公司名字logo免费设计
  • 邢台学校网站建设报价做网站空间和服务器的
  • 网站建设运营与维护标准广东省网站建设网站
  • 视频直播网站建设费用wordpress postmeta
  • 做教育网站网站推广见效快的方法
  • 做混剪素材下载网站长春百度网站优化
  • 给彩票网站做排名违法吗网站建设方案选公司