首页 > 其他分享 >代码实战-前端-Vue ElementUI 调用摄像头并上传到后端的代码案例

代码实战-前端-Vue ElementUI 调用摄像头并上传到后端的代码案例

时间:2024-10-16 15:48:06浏览次数:8  
标签:Vue ElementUI -- 代码 CameraImage components import 上传

先上效果图

调用摄像头的图片

在这里插入图片描述

拍照的图片

在这里插入图片描述在这里插入图片描述

上传文件的效果图

在这里插入图片描述

查看上传的图片(上传完的图片合并成一个PDF)

在这里插入图片描述

引入插件

-- 引入组件
import CameraImage from '@/components/CameraImage/CameraComponets.vue';

-- 放在vue的components中
  components: {
   
    CameraImage
  },

-- template中的代码
    <el-dialog title="影像采集" v-if="uploadDialogImageVisible" :visible.sync="uploadDialogImageVisible" align="center">
      <CameraImage></CameraImage>
    </el-dialog>

组件代码

<template>
  <div>
    <video ref="video" autoplay></video>
    <el-button
      type="primary"
      plain
      icon="el-icon-refresh"
      size="mini"
      @click="captureImage"
    >拍照
    </el-button>
    <div v-if="images.length > 0" class="grid">
      <div v-for="(image, index) in images" :key="index" class="grid-item">
        <img :src="image.url" alt="Photo">
      </div>
    </div>
    <el-button
      type="success"
      plain
      icon="el-icon-upload2"
      size="mini"
      :disabled="!images.length || isUploading"
      @click="uploadImages"
    >上传照片
    </el-button>
  </div>
</template>

<script>
import {
    mergeImage } from "@/api/image/merge";
import axios from 'axios';

export default {
   
  data() {
   
    return {
   
      stream: null,
      images: [], // 存储拍摄的照片
      isUploading: false,
    };
  },
  methods: {
   
    async startCamera() {
   
      try {
   
        this.stream = await navigator.mediaDevices.getUserMedia({
    video: true });
        this.$refs.video.srcObject = 

标签:Vue,ElementUI,--,代码,CameraImage,components,import,上传
From: https://blog.csdn.net/qq_43071699/article/details/142983994

相关文章

  • 【实战】从零开始打造一个低代码平台——8、全局状态管理2
    文章目录前言一、扩展控件二、定义控件库二、扩展WidgetStore三、扩展WidgetBar四、Canvas从全局数据管理获取组件五、SideBar屏幕切换总结前言前一章我们开始引入了全局状态管理,扩展了侧边栏显示屏幕列表,但拖拽到屏幕的组件还没有同步用全局数据。这一章我们把相关......
  • 基于数据可视化+SpringBoot+Vue的考研备战交流与分享平台设计和实现(源码+论文+部署讲
     博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs......
  • 代码随想录算法训练营第一天|704二分查找、27移除元素、977有序数组的平方
    代码随想录算法训练营第一天|704二分查找、27移除元素、977有序数组的平方1Leetcode704二分查找题目链接:[704.二分查找](704.二分查找-力扣(LeetCode))文章链接:[代码随想录](代码随想录(programmercarl.com))视频链接:[手把手带你撕出正确的二分法|二分查找法|二分搜......
  • C语言手撕实战代码_线索二叉树_先序中序线索二叉树_树的先根遍历_后根遍历_树的度_孩
    文章目录1.设计算法构造一棵先序线索二叉树2.先序线索二叉树的先序遍历算法3.设计算法构造一棵中序线索二叉树4.遍历中序线索二叉树5.树的先根遍历和后根遍历6.树T的叶子结点个数7.计算一棵以孩子兄弟表示的树T的度,该算法的时间复杂度为O(n)8.计算树孩子兄弟链表表示的T......
  • vue3简单使用threejs立方缓冲几何体(BoxGeometry)
    文章目录前言一、安装three二、使用步骤1.导入three、建立场景、相机和渲染器2.添加立方体3.渲染循环三、其他1.轨道控制器OrbitControls和坐标轴辅助对象AxesHelper2.GUI创建可交互的控件(点击全屏+退出全屏)3.监听窗口的变化执行一些重置操作四、完整代码五、效......
  • 怎么修改公司的网站内容?网站修改后台代码?
    如何修改公司的网站内容登录内容管理系统(CMS)访问公司网站的内容管理系统(如WordPress、Drupal等),并使用管理员账号登录。进入编辑模式在CMS后台找到需要修改的内容页面,点击“编辑”或“修改”。修改文本和图片在编辑器中直接修改文本内容,替换图片或添加新的多媒......
  • vue脚手架的安装
    1.安装vscode2.安装node3.换淘宝源npmconfigsetregistryhttps://registry.npmmirror.com4.安装vue和vue脚手架npminstallvuenpminstall-g@vue/cli5.新建文件夹,创建一个项目vuecreatemy_project6.把这个文件夹拖入vscode中。打开项目7.ctrl+~打开控制......
  • vue+element+Cascader 级联选择器任意一级选项,去掉单选框radio
         <template><divclass="block"><h1class="demonstration">选中的值:{{value}}</h1><el-cascader:options="options"v-model="value"popper-class="cas......
  • 基于Node.js+vue个人博客系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的快速发展,个人博客作为一种重要的网络应用形式,逐渐成为人们表达自我、分享知识和经验的重要平台。博客不仅能够记录个人的成长历程、生活点......
  • 基于Node.js+vue会议管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息化时代的到来,各类会议活动日益频繁,会议管理成为组织工作中不可或缺的一环。传统的会议管理方式往往依赖于纸质记录和人工协调,不仅效率低下,还容易出......