I have a script to upload the photo shoot from the webcam. The image can properly send it, but I need to send the file savecam.php also a given, it would be the user ID.
<?php echo Auth::user()->id ?>
While, the part of code is this:
// Upload image to sever
document.getElementById("upload").addEventListener("click", function(){
var dataUrl = canvas.toDataURL();
$.ajax({
type: "POST",
url: "camsave.php",
data: {
photo: dataUrl
}
}).done(function(msg) {
console.log('saved');
});
});
}, false);
I should add, for example,
// Upload image to sever
document.getElementById("upload").addEventListener("click", function(){
var dataUrl = canvas.toDataURL();
$.ajax({
type: "POST",
url: "camsave.php",
data: {
photo: dataUrl,
userID: // <-- HERE ??
}
}).done(function(msg) {
console.log('saved');
});
});
}, false);
</script>
********* EDIT **********
<div class="content">
<video id="video" autoplay></video>
<canvas id="canvas" width="640" height="480"></canvas>
<button id="snap">Capture</button>
<button type="reset" id="new">New</button>
<button id="upload">Upload</button>
<div id="userId" display="hidden" value="<?php echo Auth::user()->id ?>"></div>
</div>
<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 },
image_format= "jpg",
jpeg_quality= 95,
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, 640, 480);
// Littel effects
$('#video').fadeOut('slow');
$('#canvas').fadeIn('slow');
$('#snap').hide();
$('#new').show();
$('#upload').show();
});
// Capture New Photo
document.getElementById("new").addEventListener("click", function() {
$('#video').fadeIn('slow');
$('#canvas').fadeOut('slow');
$('#snap').show();
$('#new').hide();
$('#upload').hide();
});
// Upload image to sever
document.getElementById("upload").addEventListener("click", function(){
var dataUrl = canvas.toDataURL("image/jpg", 0.95);
var userId = document.getElementById('userId').getAttribute('value'); //get the value of the the
$("#uploading").show();
$.ajax({
type: "POST",
url: "camsave.php",
data: {
photo: dataUrl,
userId: userId
}
}).done(function(msg) {
console.log('saved');
$("#uploading").hide();
$("#uploaded").show();
});
});
}, false);
</script>
I also tried this, but it seems that it is enough to change the part of javascript and you break something, in fact, no longer shows me the message of acceptance of the webcam.