#javascript #php #html
#javascript #php #HTML
Вопрос:
Я пытаюсь загрузить фотографию на сервер в виде тега img, но не могу этого сделать. пожалуйста, помогите. Сначала я беру фотографию с веб-камеры, затем я хочу загрузить на свой веб-сервер. Когда я делаю снимок с веб-камеры, он отображается на экране методом javascript getElementById. Теперь я хочу написать код, который будет загружен на мой веб-сервер. Пожалуйста, помогите, заранее спасибо ….. Мой код ниже:
//script_photo.js
var photoButton = document.getElementById('snapPicture');
photoButton.addEventListener('click', picCapture, false);
navigator.getUserMedia ||
(navigator.getUserMedia = navigator.mozGetUserMedia ||
navigator.webkitGetUserMedia || navigator.msGetUserMedia);
if (navigator.getUserMedia) {
navigator.getUserMedia({video:true,audio:false}, onSuccess, onError);
} else{
alert('Your browser isnt supported');
}
function onSuccess(stream) {
vidContainer = document.getElementById('webcam');
var vidStream;
if (window.webkitURL){
vidStream = window.webkitURL.createObjectURL(stream);
}else{
vidStream = stream;
}
vidContainer.autoplay = true;
vidContainer.src = vidStream;
}
function onError(){
alert('Houston, we have a problem');
}
function picCapture(){
var picture = document.getElementById('capture'),
context = picture.getContext('2d');
picture.width = "600";
picture.height = "400";
context.drawImage(vidContainer, 0, 0, picture.width, picture.height);
var dataURL = picture.toDataURL();
document.getElementById('canvasImg').src = dataURL;
}
<!DOCTYPE>
<html>
<head>
<title>My Photo Booth</title>
<head>
<body>
<center>
<video id="webcam" width="200" height="200"></video>
<br>
<input type="button" id="snapPicture" value="Snap A Picture!" />
<p>
<canvas id="capture" style="display:none;"></canvas>
<img id="canvasImg" alt="right click to save">
<script src = "script_photo.js"></script>
</center>
</body>
</html>
Ответ №1:
<img>
является html
элементом. То data URI
, что вы создали в created at var dataURL = picture.toDataURL();
, является файлом изображения.
Вы можете POST
data URI
создать то, что вы создали, на сервере, используя XMLHttpRequest()
, FormData()
.
var request = new XMLHttpRequest();
request.open("POST", "/path/to/server", true);
var data = new FormData();
data.append("image", dataURL, "imagename");
request.send(data);
Комментарии:
1. @IrfanGondal Смотрите раздел Использование файлов из веб-приложений