Javascript 如何将从网络摄像头捕获的图像保存到文件夹

Javascript 如何将从网络摄像头捕获的图像保存到文件夹,javascript,python,django,Javascript,Python,Django,我正在开发Django web应用程序。在这个应用程序中,用户可以触发他们的网络摄像头并通过按下按钮捕捉照片。然后应将此照片保存到服务器 我面临的问题是,我无法保存照片。这是到目前为止我的代码 html 有了这段代码,我可以将图片捕捉到画布中,但我无法将其保存到服务器文件夹中。在一些研究中,我认为这不可能只使用javascript,而且我需要像python或php这样的脚本语言。因为我使用的是django,所以python在这里似乎是一个更好的选择。但我不知道如何做到这一点 请帮帮我 谢谢如果要

我正在开发Django web应用程序。在这个应用程序中,用户可以触发他们的网络摄像头并通过按下按钮捕捉照片。然后应将此照片保存到服务器

我面临的问题是,我无法保存照片。这是到目前为止我的代码

html

有了这段代码,我可以将图片捕捉到画布中,但我无法将其保存到服务器文件夹中。在一些研究中,我认为这不可能只使用javascript,而且我需要像python或php这样的脚本语言。因为我使用的是django,所以python在这里似乎是一个更好的选择。但我不知道如何做到这一点

请帮帮我


谢谢

如果要在后端保存图像,需要先将图像数据从浏览器发送到后端。 在画布上显示图像后,可以通过以下方式获得Base64字符串格式的图像数据:

document.getElementById("snap").addEventListener("click", function() {
  context.drawImage(video, 0, 0, 640, 480);

  // get image data as string
  const imageString = canvas.toDataURL();

  // send image to server
  fetch('/image/save', {
    method: "POST",
    cache: "no-cache",
    credentials: "same-origin",
    headers: {
        "Content-Type": "application/json",
    },
    body: JSON.stringify({
      imageString: imageString, 
    }),
  })
});

然后在服务器上,您需要定义图像保存路由,将Base64图像字符串转换为图像文件,然后将其保存到文件系统。

如果要在后端保存图像,需要首先将图像数据从浏览器发送到后端。 在画布上显示图像后,可以通过以下方式获得Base64字符串格式的图像数据:

document.getElementById("snap").addEventListener("click", function() {
  context.drawImage(video, 0, 0, 640, 480);

  // get image data as string
  const imageString = canvas.toDataURL();

  // send image to server
  fetch('/image/save', {
    method: "POST",
    cache: "no-cache",
    credentials: "same-origin",
    headers: {
        "Content-Type": "application/json",
    },
    body: JSON.stringify({
      imageString: imageString, 
    }),
  })
});
然后在服务器上,需要定义映像保存路由,将Base64映像字符串转换为映像文件,然后将其保存到文件系统

document.getElementById("snap").addEventListener("click", function() {
  context.drawImage(video, 0, 0, 640, 480);

  // get image data as string
  const imageString = canvas.toDataURL();

  // send image to server
  fetch('/image/save', {
    method: "POST",
    cache: "no-cache",
    credentials: "same-origin",
    headers: {
        "Content-Type": "application/json",
    },
    body: JSON.stringify({
      imageString: imageString, 
    }),
  })
});