Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Загрузка картинки из вебкамеры на сервер (https://javascript.ru/forum/events/71242-zagruzka-kartinki-iz-vebkamery-na-server.html)

iNfantry 03.11.2017 19:07

Загрузка картинки из вебкамеры на сервер
 
Подскажите пожалуйста, допустим я получил картинку с вебкамеры и она без проблем вставляется в документ с помощью кода
var data = canvas.toDataURL('image/jpeg');
document.getElementById('photo').setAttribute('src', data);

Как я могу ее загрузить на сервер? Тоесть с помощью метода jQuery $.post или самого объекта xmlhttprequest, не пойму как мне ее запихать в параметр и зааплоадить, сама картинка получается с помощью механизма getusermedia и canvas, с этим проблем нет.

Alexandroppolus 03.11.2017 19:16

У канвы ещё есть метод toBlob

iNfantry 03.11.2017 19:28

Да, но как именно загрузить его на сервер? Чтобы в пост запросе он был именно файлом со всеми boundary и тд а не просто аргументом в post data.

laimas 03.11.2017 19:34

Объект FormData() и его метод .append()

iNfantry 03.11.2017 19:43

Цитата:

Сообщение от laimas (Сообщение 469140)
Объект FormData() и его метод .append()

А можно пример того как в этот метод вставить именно файл из канваса?
append('pic', canvas.toDataURL(\'image/jpeg\'));
или append('pic', canvas.toBlob());
или как? Просто насколько я знаю браузер запрещает задавать значение элементу инпут тип=файл программно. Вобщем-то весь вопрос именно в том, как зааплоадить именно динамически созданный файл.

Alexandroppolus 03.11.2017 19:50

iNfantry,
почему ты так упрямствуешь в своем нежелании глянуть документацию по FormData?

а toBlob асинхронный, с колбеком. Тоже не мешало бы ознакомиться.

laimas 03.11.2017 19:51

Цитата:

Сообщение от iNfantry
Просто насколько я знаю браузер запрещает задавать значение элементу инпут тип=файл программно


Не надо ничего создавать, добавите объекту пару ключ => значение.

Сперва нужно создать объект FormData(). Все о нем здесь.

iNfantry 03.11.2017 19:53

В качестве "значение" подставлять урл или блоб?

laimas 03.11.2017 19:55

Цитата:

Сообщение от iNfantry
В качестве "значение" подставлять урл или блоб?

А какой у canvas URL?

Alexandroppolus 03.11.2017 19:56

Цитата:

Сообщение от iNfantry
В качестве "значение" подставлять урл или блоб?

разумеется, блоб.

или, по твоему, упоминание тут метода toBlob - просто совпадение? :)


Часовой пояс GMT +3, время: 11:50.