vue3实现抓拍并上传

news/2025/10/11 11:53:13/文章来源:https://www.cnblogs.com/weijiaying/p/19134703
<template><video ref="videoRef" autoplay playsinline></video><canvas ref="canvasRef" class="hidden"></canvas><button @click="capture">抓拍</button>
</template><style>
.hidden { display: none; }
</style>
<script setup>
import { ref, onMounted, onBeforeUnmount } from 'vue';const videoRef = ref(null);
const canvasRef = ref(null);
let stream = null;// 初始化摄像头
const initCamera = async () => {try {stream = await navigator.mediaDevices.getUserMedia({ video: true });videoRef.value.srcObject = stream;} catch (error) {console.error('摄像头访问失败:', error);}
};// 抓拍并存储
const capture = () => {const video = videoRef.value;const canvas = canvasRef.value;const ctx = canvas.getContext('2d');// 设置canvas尺寸与视频一致canvas.width = video.videoWidth;canvas.height = video.videoHeight;// 绘制当前帧到canvasctx.drawImage(video, 0, 0, canvas.width, canvas.height);// 转为base64并存储const base64 = canvas.toDataURL('image/png');localStorage.setItem('userImg', base64);
};// 清理资源
const cleanup = () => {if (stream) {stream.getTracks().forEach(track => track.stop());stream = null;}
};

//图片上传函数
function uploadimg() {
  // 提取base64数据部分
  const base64Data = localStorage.userImg.split(',')[1];

  // 创建FormData对象
  // const formData = new FormData();
  // formData.append('base64Image', base64Data);

  // 也可以直接发送base64字符串
  const data = { base64Image: base64Data };

  // 发送到服务器
  fetch(`http://192.168.2.44:18758/imageUpload/zhuapai`, {
    method: 'POST',
    // body: formData,
    // 如果使用JSON方式
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(data)
  })
    .then(response => response.json())
    .then(data => {
      console.log('上传成功:', data);
      img_url = data.data.fullUrl

      let img0 = document.getElementById("j_img");
      img0.src = "";
    })
    .catch(error => {
      console.error('上传失败:', error);
    });

}
onMounted(initCamera);
onBeforeUnmount(cleanup);
</script>

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年国内润滑油厂商最新推荐榜:聚焦优质品牌实力,助力企业精准选品润滑油净化/过滤/回用/液压油润滑油过滤厂商推荐

当前工业领域对润滑油的需求持续增长,但市场上供应商资质不一、产品质量参差不齐的问题愈发凸显。部分企业在采购时面临产品缺乏溯源、适配性不足、服务响应滞后等难题,不仅增加设备运维成本,还可能因油品问题导致生…

纯前端实现项目过期

项目过期逻辑 /*** 项目有效期检查工具* 设置项目在指定日期后无法访问*/// 设置过期日期为2024年10月30日 const EXPIRY_DATE = new Date(2025-10-30 23:59:59)/*** 检查项目是否已过期* @returns {boolean} true表示…

基于形态学的权重自适应图像去噪的MATLAB实现

classdef MorphologicalAdaptiveDenoising% 基于形态学的权重自适应图像去噪类% 支持灰度图像和彩色图像的去噪propertiesstructuring_elementsalphabetaiterationsendmethodsfunction obj = MorphologicalAdaptiveDen…

2025 年油水分离器 / 气液分离器 / 液固分离器 / 水分离器 / 油分离器厂家推荐:西安同大技术沉淀与流体净化解决方案解析

2025 年分离设备行业迎来技术迭代与市场扩容期,全球市场规模已突破 1200 亿美元,中国贡献占比超 35%,成为推动行业发展的核心力量。化工、石油、天然气等领域对分离效率、工况适配性的要求持续升级,合成氨、甲醇、…

2025 年过滤器厂家最新推荐排行榜:聚焦烛式 / 金属 / 非金属 / 化工 / 精密过滤器等多类型设备,精选优质品牌助企业高效选型液固/高效/气固/催化剂过滤器厂家推荐

当前工业生产中,流体处理环节的过滤分离技术对生产安全、效益提升至关重要,化工、石油、天然气等领域常受原料杂质、设备磨损、环保达标难、特殊工况适配差等问题困扰,传统过滤设备易导致产品损失与生产中断。为帮助…

OOP-实验1

实验任务1 源代码task1.cpp点击查看代码 // 现代C++标准库、算法库体验 // 本例用到以下内容: // 1. 字符串string, 动态数组容器类vector、迭代器 // 2. 算法库:反转元素次序、旋转元素 // 3. 函数模板、const引用作…

2025 年立式/立式全钢板/青黄储/液压打包机厂家推荐榜:聚焦实用需求,精选高适配设备助力企业降本增效

随着工业生产精细化推进、环保回收产业规模化发展及企业降本增效需求升级,液压打包机已从传统工业辅助设备,逐步成为废纸回收、塑料加工、农业物料处理等领域的 “刚需工具”—— 它能通过压缩工艺大幅减少轻泡物料体…

308、清平调三首

308、清平调三首308、清平调三首 唐●李白 其一 云想衣裳花想容,春风拂槛露华浓。 若非群玉山头见,会向瑶台月下逢。【现代诗意译】 彩云羡慕她的衣裳 牡丹羡慕她的容貌 春风吹拂着栏杆 更显得她风姿绰约 在露水滋润…

2025管件厂家最新推荐榜:高品质管件与卓越工艺口碑之选

2025管件厂家最新推荐榜:高品质管件与卓越工艺口碑之选行业背景管件作为管道系统中不可或缺的组成部分,广泛应用于建筑、化工、能源、水利等众多领域。随着全球基础设施建设的不断推进以及工业生产的持续发展,管件市…

2025不锈钢管件厂家推荐榜:技术实力与诚信口碑双重保障

2025不锈钢管件厂家推荐榜:技术实力与诚信口碑双重保障在工业管道系统快速发展的今天,卡压式不锈钢管件以其安装便捷、密封性强、耐腐蚀等优势,成为众多工程项目的首选材料。随着市场竞争日趋激烈,如何在众多厂家中…

哪款剪贴板增强软件最好用?有什么剪贴板内容大全值得分享?多款剪切板历史免费版管理工具推荐

剪贴板是电脑中一个非常实用的功能,允许用户在不同的应用程序之间复制和粘贴文本、图像、文件等内容。然而,默认情况下,剪贴板只能存储最近一次复制的内容,这可能会限制我们的工作效率。 但是 Windows 上的剪贴板只…

EndNote文献管理工具!研究生必备软件!超详细下载安装教程(附下载地址)

软甲简介 EndNote是一款功能强大的参考文献管理工具,EndNote作为全球学术界广泛使用的专业软件,拥有强大的文献整理、引用写作和协同管理功能,被众多高校、导师、科研机构列为“标配”。软件获取地址 EndNote文献管…

鸿蒙应用开发从入门到实战(十九):样式复用案例

上一篇文章讲解了ArkUI中样式复用思想,本节继续使用自定义组件对商品列表进行优化。大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,陆续更新AI+编程、企业…

2025 年最新推荐冰醋酸厂商综合实力排行榜: 厂商定制服务与仓储能力深度解析昆山/太仓/吴江区/吴中区/相城区/姑苏区冰醋酸厂商推荐

2025 年中国冰醋酸行业产能持续扩张,但市场供需矛盾、品质要求升级及环保政策趋严等问题凸显。华东、华北产区供应集中与中西部需求增长的运输成本差距加大,下游食品、医药领域对产品纯度要求愈发严苛,工业级纯度需…

中电金信:“源启大模型文本生成算法”成功通过互联网信息服务算法备案

近日,国家互联网信息办公室发布了第十三批深度合成服务算法备案信息的公告,中电金信自主研发的“源启大模型文本生成算法”正式通过备案。根据国家网信办等七部门联合公布的《生成式人工智能服务管理暂行办法》规定,…

【Qt开发】输入类控件(二)-> QTextEdit - 详解

【Qt开发】输入类控件(二)-> QTextEdit - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

基于MATLAB的禁忌搜索算法解决物流网络枢纽选址问题

一、问题建模 1. 数学模型 目标函数:最小化总成本(建设成本+运输成本)\(S\):选中的枢纽集合 \(C_i\):候选点i的建设成本 \(w_{kj}\):需求点k到枢纽j的货物量 \(d_{ik}\):候选点i到需求点k的距离 \(x_{ijk}\):需…

springboot 项目部署是tomcat么

------------------------------------------------------ Spring Boot 项目的部署可以使用 Tomcat,但并非只能用 Tomcat。具体取决于项目的配置和需求,主要分为两种情况:** 内置服务器部署 (默认)和外部服务器部…

2025 年最新推荐恒温恒湿试验箱优质厂家榜单:涵盖立式/可程式/小型等多类型设备的精选企业推荐可程式/小型/防爆高低温试/高温高湿试验箱/低温低湿试验箱厂家推荐

在工业生产与科研检测中,恒温恒湿试验箱是保障产品性能稳定性的关键设备,其质量与性能直接影响检测数据的准确性和生产科研进度。当前市场上该类设备品牌众多,部分小厂商以次充好,采用劣质零部件导致设备运行不稳定…

CSS开发工具推荐与实战经验,让样式开发更高效、更精准

本文介绍 CSS 开发工具,包括 VS Code、WebStorm、Sass、PostCSS、Chrome DevTools、Firefox Tools、WebDebugX、PurgeCSS、Lighthouse 等,结合实际案例总结从样式编写到跨端调试的完整工具链与最佳实践。写 CSS 的人…