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