纯HTML 调用摄像头 获取拍照后的图片的base64

纯HTML 调用摄像头 获取拍照后的图片的base64

直接上代码:

html 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web USB Camera</title>
</head>
<body>

<video id="video" width="400" autoplay playsinline></video>
<br>
<button id="snap">拍照</button>
<br>
<img id="photo" style="margin-top:10px; width:400px;">
<br>

<!-- ✅ 新增:用于完整显示 Base64 -->
<textarea id="output" style="width:100%;height:200px;margin-top:10px;"></textarea>

<script>
  const video = document.getElementById("video");
  const photo = document.getElementById("photo");
  const snapBtn = document.getElementById("snap");
  const output = document.getElementById("output"); // ✅ 新增引用

  // 获取摄像头
  navigator.mediaDevices.getUserMedia({ video: true })
    .then(stream => {
      video.srcObject = stream;
    })
    .catch(err => {
      alert("无法访问摄像头: " + err);
    });

  // 拍照
  snapBtn.onclick = function() {
    const canvas = document.createElement("canvas");
    canvas.width = video.videoWidth;
    canvas.height = video.videoHeight;

    const ctx = canvas.getContext("2d");
    ctx.drawImage(video, 0, 0);

    photo.src = canvas.toDataURL("image/png");

    // ✅ 新增:完整 Base64 放进 textarea
    output.value = photo.src;

    console.log("Base64 length:", photo.src.length);
  };
</script>

</body>
</html>

效果如下图所示:

可以验证一下base64 是否正常 访问网站:

https://remeins.com/index/app/base64img

相关推荐
工藤学编程8 分钟前
零基础学AI大模型之CoT思维链和ReAct推理行动
前端·人工智能·react.js
徐同保8 分钟前
上传文件,在前端用 pdf.js 提取 上传的pdf文件中的图片
前端·javascript·pdf
怕浪猫9 分钟前
React从入门到出门第四章 组件通讯与全局状态管理
前端·javascript·react.js
博主花神10 分钟前
【React】扩展知识点
javascript·react.js·ecmascript
欧阳天风17 分钟前
用setTimeout代替setInterval
开发语言·前端·javascript
EndingCoder20 分钟前
箭头函数和 this 绑定
linux·前端·javascript·typescript
郑州光合科技余经理21 分钟前
架构解析:同城本地生活服务o2o平台海外版
大数据·开发语言·前端·人工智能·架构·php·生活
沐墨染23 分钟前
大型数据分析组件前端实践:多维度检索与实时交互设计
前端·elementui·数据挖掘·数据分析·vue·交互
xkxnq27 分钟前
第一阶段:Vue 基础入门(第 11 天)
前端·javascript·vue.js
lifejump27 分钟前
Pikachu | Unsafe Filedownload
前端·web安全·网络安全·安全性测试