Задать вопрос
nickola105
@nickola105
начинающий

Как сохранить изображение в file или в любой другой тип для бека?

Всем привет.
Ребятушки получаю картинку с вэбкамеры
все что есть у меня
var data = canvas.toDataURL('image/png');
возвращает он данные ввиде
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNby

Пробовал через mozGetAsFile() однако этот метод не вошел в спецификацию
Теперь копаю в сторону Blob, но пока безуспешно
Подскажите как можно соорудить из этого объект File или какой другой для отправки в форме бекенду.
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
как можно соорудить из этого объект File или какой другой для отправки в форме бекенду.
Что мешает отправить прямо так?
$.post("upload.php", { myImage: data })
  .done(function() {
    console.log('saved'); 
});

А на сервере что-то вроде этого.

Если нужно именно с file, то можно попробовать так:
var blobBin = atob(dataURL.split(',')[1]);
var array = [];
for(var i = 0; i < blobBin.length; i++) {
    array.push(blobBin.charCodeAt(i));
}
var file=new Blob([new Uint8Array(array)], {type: 'image/png'});


var formdata = new FormData();
formdata.append("myNewFileName", file);
$.ajax({
   url: "uploadFile.php",
   type: "POST",
   data: formdata,
   processData: false,
   contentType: false,
}).done(function(respond){
  alert(respond);
});
© https://stackoverflow.com/a/19032688
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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