Как сохранить изображение, снятое с веб-камеры, в папку - PullRequest
0 голосов
/ 12 апреля 2019

Я работаю над веб-приложением Django.В этом приложении пользователь может запустить свою веб-камеру и сделать снимок одним нажатием кнопки.Эта фотография должна быть сохранена на сервере.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу сохранить фотографию.Пока это мой кодсделать снимок на холсте, но я застрял, пытаясь сохранить его в папке на сервере.в некоторых исследованиях я подумал, что это невозможно только с помощью javascript, и что мне потребуется отладка сценариев, таких как python или php.Поскольку я использую django, Python кажется лучшим вариантом здесь.Но я не уверен, как это сделать.

Пожалуйста, помогите мне

Спасибо

1 Ответ

1 голос
/ 12 апреля 2019

Если вы хотите сохранить изображение на бэкэнде, вам необходимо сначала отправить данные изображения из браузера на бэкэнд. После того, как вы отобразили изображение на холсте, вы можете получить данные изображения в формате Base64 String следующим образом:

document.getElementById("snap").addEventListener("click", function() {
  context.drawImage(video, 0, 0, 640, 480);

  // get image data as string
  const imageString = canvas.toDataURL();

  // send image to server
  fetch('/image/save', {
    method: "POST",
    cache: "no-cache",
    credentials: "same-origin",
    headers: {
        "Content-Type": "application/json",
    },
    body: JSON.stringify({
      imageString: imageString, 
    }),
  })
});

и затем на вашем сервере вам нужно определить маршрут сохранения образа, преобразовать строку образа Base64 в файл образа и затем сохранить ее в файловой системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...