Ребятушки, еще раз все привет.
Есть две вот такие функции. Одна сохраняет фото полученное с камеры, другая - с drop области когда юзер скинул скажем с рабочего стола в браузе
function savephoto() {
var utf8 = atob(picture),
array = [];
//---
for(var i = 0; i < utf8.length; i++)
array.push(utf8.charCodeAt(i));
var myBlob = new Blob([new Uint8Array(array)], {type: 'image/png'});
var file = new File([myBlob], 'user-photo')
inputPhoto.files[0] = file;
console.log(inputPhoto.files[0]);
}
(function dragDropLoad() {
var dropbox;
dropbox = document.querySelector('#dropbox');
dropbox.addEventListener('dragenter', dragenter, false);
dropbox.addEventListener('dragover', dragover, false);
dropbox.addEventListener('drop', drop, false);
function dragenter(e) {
e.stopPropagation();
e.preventDefault();
}
function dragover(e) {
e.stopPropagation();
e.preventDefault();
}
function drop(e) {
e.stopPropagation();
e.preventDefault();
var dt = e.dataTransfer;
var file = dt.files[0];
if (file) {
createimage(file);
inputPhoto.files[0] = file;
console.log(inputPhoto.files[0]);
}
}
function createimage(file) {
var imgUser = document.querySelector('.output-input img');
var uploadWrap = document.querySelector('.upload-wrap');
uploadWrap.style.display = 'none';
imgUser.style.display = 'block';
imgUser.src = window.URL.createObjectURL(file);
imgUser.onload = function() {
window.URL.revokeObjectURL(this.src);
}
}
}());
вот этой строкой (inputPhoto.files[0] = file;), как я думаю записываю в инпут формы типа файл ту саму картинку, по крайней мере в консоль вывожу и вижу что размер есть, объект есть.
Однако при отправке формы, бекенд не получает файл.
В чем может быть проблема?