Я работаю над приложением Django, где пользователь может нажать кнопку, чтобы запустить веб-камеру.После запуска веб-камеры пользователь может сохранить изображение на сервере Django.Прямо сейчас мой код может сделать снимок с помощью JavaScript.Но я застрял, пытаясь сохранить изображение на сервере Django.Пока это мой код
HTML-шаблон
<center>
<button type="button" name="button" class='btn btn-outline-dark btn-lg' id='start'>Start Video Capture</button>
<div class="container-fluid mt-2">
<video id="video" width="640" height="480" autoplay></video><br>
<button type="button" data-toggle="modal" data-target="#image_model" class="btn btn-lg btn-dark" id="snap">Snap Photo</button>
</div>
</center>
<form action="{% url 'img_submit' %}" method="post" class="image_submit_form">
{% csrf_token %}
<input type="submit" value="Use Image" class="btn btn-primary" id="use_image">
</form>
javascript
// Grab elements, create settings, etc.
var video = document.getElementById('video');
// Elements for taking the snapshot
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
document.getElementById('start').addEventListener("click", function() {
// Get access to the camera!
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({
video: true
}).then(function(stream) {
//video.src = window.URL.createObjectURL(stream);
video.srcObject = stream;
video.play();
});
}
$('#snap').fadeIn();
// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
var url = canvas.toDataURL();
$("#use_image").click(function() {
let $form = $(".image_submit_form");
let form_data = new FormData($form[0]);
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
dataType: "json",
data: {
url: url,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function(json) {
alert("Successfully sent the URL to Django");
},
error: function(xhr, errmsg, err) {
alert("Could not send URL to Django. Error: " + xhr.status + ": " + xhr.responseText);
}
});
});
});
});
Я пытаюсь использоватьajax для отправки изображения холста в представления django, где я могу сохранить изображение на сервере с python.
Пока это мой код на python.Я пытаюсь проверить, правильно ли я получил данные для сохранения
django views
def img_submit(request):
url = request.POST.get('url')
return HttpResponse(url)
Но это ничего не возвращает.Как мне получить доступ к изображению через python и как мне сохранить изображение?
Спасибо