CREATE TABLE ExampleTable (
ID int PRIMARY KEY,
LongText nvarchar(max)
);
INSERT INTO ExampleTable (ID, LongText) VALUES (1, REPLICATE('a', 600000));
public IActionResult CameraCapture()
{
return View("CameraCapture");
}
public IActionResult ProcessPhoto([FromBody] PhotoData data)
{
try
{
if (data != null && !string.IsNullOrEmpty(data.Photo))
{
int i =data.Photo.Length;
string base64WithoutHeader = data.Photo.Substring(22);
// Convert photo data from base64 string to byte array
byte[] imageBytes = Convert.FromBase64String(base64WithoutHeader);
// Save image to server (for example)
string imagePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images", "captured_photo.png");
System.IO.File.WriteAllBytes(imagePath, imageBytes);
return Ok("Photo received and saved successfully.");
}
else
{
return BadRequest("Photo data is empty.");
}
}
catch (Exception ex)
{
return StatusCode(500, $"An error occurred while processing the photo: {ex.Message}");
}
}
@{
ViewData["Title"] = "Camera Capture";
}
<h1>Camera Capture</h1>
<div>
<video id="video" width="640" height="480" autoplay></video>
<button id="capture">Capture</button>
<canvas id="canvas" width="640" height="480" style="display: none;"></canvas>
<img id="photo" src="" alt="Your captured photo will appear here." />
</div>
@section Scripts {
<script>
const video = document.getElementById('video');
const canvas = document.getElementById('canvas');
const photo = document.getElementById('photo');
const captureButton = document.getElementById('capture');
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
video.srcObject = stream;
})
.catch(function (err) {
console.log("An error occurred: " + err);
});
captureButton.addEventListener('click', function () {
let context = canvas.getContext('2d');
context.drawImage(video, 0, 0, canvas.width, canvas.height);
let photoData = canvas.toDataURL('image/png');
// Display captured photo
photo.src = photoData;
// Send photo data to controller via AJAX
fetch('/Home/ProcessPhoto', {
method: 'POST',
body: JSON.stringify({ photo: photoData }), // 发送 JSON 格式的数据
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
if (response.ok) {
console.log('Photo captured and sent successfully.');
} else {
console.error('Error sending photo: ' + response.statusText);
}
})
.catch(error => {
console.error('Error sending photo:', error);
});
});
</script>
}
asp mvc .net6 拍照
于 2024-04-02 14:27:08 首次发布