Проблема с отправкой файла через drag and drop
В чём собственно говоря проблема. Есть код` dropZone.addEventListener('dragover', ev => ev.preventDefault()) dropZone.addEventListener('drop', ev => ev.preventDefault())
dropZone.addEventListener('drop', ev => {
ev.preventDefault()
file = ev.dataTransfer.files[0]
if (file.type === 'application/pdf') {
handleFile(file)
console.log(file)
console.log(dropZone.input)
} else {
ertype.style.display = 'block';
D.querySelector(".drop-area").style.display = 'none';
}
})
input.addEventListener('change', () => {
file = input.files[0]
handleFile(file)
})
const handleFile = file => {
let prog = D.querySelector(".progress_bar");
let formElement = document.querySelector("form");
let formData = new FormData(formElement, input, file)
formData.append('name', 'value');
let request = new XMLHttpRequest(formElement, input, file);
request.open("POST", "https://scanyourpdf.softlex.pro/api/sendFile");
request.send(formData, dropZone);
request.onload = function () {
// do something to response
console.log(this.responseText);
};
prog.style.display = 'block';
D.querySelector(".drop-area").style.display = 'none';
if (file.type === 'application/pdf') {
request.onreadystatechange = function () {
log(request)
if (this.readyState == 4 && this.status == 202) {
let data = JSON.parse(this.responseText);
...... ` При выводе в консоль в событии drop файл пытается отправить весь сайт, а не файл на сервер. Как это исправить? А и да после того как ты 1 раз отправишь файл и вернёшься событие drop будет отправлять уже нужный файл, а не всю страницу