Недавно я пытался добавить простое перетаскивание HTML5 в мой уже простой скрипт загрузки php-файлов.
Я прочитал много учебников и других решений, но я не могу понять, как отправить файл на серверную часть.
Из того, что я понимаю, XMLHttpRequest отправит данные, но сделает это без перезагрузки страницы. Такого я не хочу. В настоящее время я использую скрипт, который будет принимать данные POST и выводить файл, например. ссылка на скачивание сервера, миниатюра изображения и т. д.
Как перетащить и отправить данные POST и получить доступ к выводу выгрузки или перезагрузить страницу?
Edit:
Я использую следующее для перетаскивания:
<div id="drop_zone">Drag and drop a file here</div>
<script>
function handleFileSelect(evt) {
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
uploadFile(files[0]); //<-- This is where most examples will use XMLHttpRequest to construct form and send data
}
function handleDragOver(evt) {
evt.stopPropagation();
evt.preventDefault();
document.getElementById('drop_zone').style.backgroundColor = "#faffa3";
evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
}
function handleDragLeave(evt) {
document.getElementById('drop_zone').style.backgroundColor = "";
}
// Setup the dnd listeners.
var dropZone = document.getElementById('drop_zone');
dropZone.addEventListener('dragover', handleDragOver, false);
dropZone.addEventListener('drop', handleFileSelect, false);
dropZone.addEventListener('dragleave', handleDragLeave, false);
</script>