gpt4 book ai didi

java - 如何仅在 JSP 中使用网络摄像头(不使用 Servlet)捕获图像并将其保存到 MS SQL Server 中

转载 作者:行者123 更新时间:2023-12-01 09:37:31 24 4
gpt4 key购买 nike

我想使用网络摄像头捕获图像并将其存储到 MS SQL Server 数据库中。

我能够使用网络摄像头捕获图像,但现在我正在尝试将图像传递到下一页,但无法在下一个 jsp 上获取图像来处理图像。

捕获图像的代码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Web camera - Testing</title>

<script>

// Put event listeners into place
window.addEventListener("DOMContentLoaded", function () {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = {"video": true},
errBack = function (error) {
console.log("Video capture error: ", error.code);
};

// Put video listeners into place
if (navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function (stream) {
video.src = stream;
video.play();
}, errBack);
} else if (navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function (stream) {
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if (navigator.mozGetUserMedia) { // WebKit-prefixed
navigator.mozGetUserMedia(videoObj, function (stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}

// Trigger photo take
document.getElementById("snap").addEventListener("click", function () {
context.drawImage(video, 0, 0, 213, 160);
document.getElementById('canvasImg').src = canvas.toDataURL("image/png");

// document.getElementById('video').style.display = "none"; // hide the live image video portin after click on take picture
});



}, false);

</script>



</head>
<body>
<h1>Capture Image using Camera!</h1>

<!--
Ideally these elements aren't created until it's confirmed that the
client supports video/camera, but for the sake of illustrating the
elements involved, they are created with markup (not JavaScript)
-->
<video id="video" width="213" height="160" autoplay></video>
<button id="snap">Capture Photo</button>

<form action="savetesting.jsp" method="post">
<canvas id="canvas" width="213" height="160" name="ImageFile1" style="display: none;"></canvas>

<img id="canvasImg" name="ImageFile"><img>
<input type="reset" value="Reset"/>
<input type="submit" value="Submit"/>

</form>

</body>
</html>

但现在我正在尝试使用

获取捕获的图像
request.getParameter("ImageFile");

但未能成功。

请帮我解决这个问题,如何获取下一页的图像,然后我将尝试将图像保存在 MS SQL Server 数据库中,但仅使用 JSP(不使用 Servlet)。

最佳答案

canvasimg 都不是表单输入字段,即使放置在 form 标记内也是如此。添加

<input type="hidden" name="ImageData" id="ImageData" />

到您的表格,并且

document.getElementById('ImageData').value = canvas.toDataURL("image/png");

snap 按钮的 click 事件处理程序。

然后,在 JSP 中,使用以下命令获取图像数据(data URI 格式)

String imageData = request.getParameter("ImageData");

并使用javax.xml.bind.DatatypeConverter处理它们,如Convert DataURL image to image file in java中所述。

关于java - 如何仅在 JSP 中使用网络摄像头(不使用 Servlet)捕获图像并将其保存到 MS SQL Server 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38735979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com