rootovich1
@rootovich1

Как сохранить фото на сервере?

Всем привет.
Появилась задача быстро получить фото с камеры и сохранить на сервере.
За 5 минут нагаглил это.
Подскажите , как мне теперь поток этот сохранить? Всем спасибо)
<script>
  	navigator.getUserMedia(
    // Настройки
    {
        video: true
    },
    // Колбэк для успешной операции
    function(stream){

        // Создаём объект для видео потока и
        // запускаем его в HTLM элементе video.
        video.src = window.URL.createObjectURL(stream);

        // Воспроизводим видео.
        video.play();

    },
    // Колбэк для не успешной операции
    function(err){

        // Наиболее частые ошибки — PermissionDenied и DevicesNotFound.
        console.error(err);

    }
    );

    function takeSnapshot(){

    var hidden_canvas = document.querySelector('canvas'),
        video = document.querySelector('video.camera_stream'),
        image = document.querySelector('img.photo'),

        // Получаем размер видео элемента.
        width = video.videoWidth,
        height = video.videoHeight,

        // Объект для работы с canvas.
        context = hidden_canvas.getContext('2d');


    // Установка размеров canvas идентичных с video.
    hidden_canvas.width = width;
    hidden_canvas.height = height;

    // Отрисовка текущего кадра с video в canvas.
    context.drawImage(video, 0, 0, width, height);

    // Преобразование кадра в изображение dataURL.
    var imageDataURL = hidden_canvas.toDataURL('image/png');

    // Помещение изображения в элемент img.
    image.setAttribute('src', imageDataURL);

    }
</script>
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 3
zkrvndm
@zkrvndm
Архитектор решений
Используйте fetch для отправки полученного изображения на сервер.
Ответ написан
Комментировать
@tempick
Чтобы сохранить фото на сервере - вам нужно это фото отправить на сервер, где будет это изображение приматься и сохраняться. Отправляйте его методом POST в multipart/formdata, а на сервере получайте (например, на php через $_FILES) и сохраняйте в нужное место
Ответ написан
Комментировать
Alexandroppolus
@Alexandroppolus
кодир
У канвы есть метод toBlob, забери картинку этим методом, далее отправь fetch. Либо FormData, либо просто отправь блоб (тогда на сервере он будет во входных данных)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы