web_serv/test.html

123 lines
2.7 KiB
HTML
Raw Permalink Normal View History

2025-05-02 05:58:01 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sube musica</title>
2025-05-02 05:58:01 +02:00
<style>
#drop_zone
{
width: 600px;
height: 500px;
border: 2px solid #ccc;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
2025-05-02 05:58:01 +02:00
text-align: center;
color: #777;
font-size: 1.2em;
margin-bottom: 20px;
background-color: #fff;
transition: background-color 0.3s, border-color 0.3s;
2025-05-02 05:58:01 +02:00
}
#drop_zone.dragover
{
border-color: green;
background-color: #e0ffe0;
}
2025-05-02 05:58:01 +02:00
</style>
</head>
<body>
<div
id="drop_zone"
ondrop="dropHandler(event);"
ondragover="dragOverHandler(event);"
ondragenter="dragEnterHandler(event);"
ondragleave="dragLeaveHandler(event);"
2025-05-02 05:58:01 +02:00
>
</div>
<div id="status"></div>
2025-05-02 05:58:01 +02:00
<script>
const dropZone = document.getElementById('drop_zone');
function dropHandler(ev)
{
2025-05-02 05:58:01 +02:00
ev.preventDefault();
let file_to_upload;
2025-05-02 05:58:01 +02:00
if (ev.dataTransfer.items) {
[...ev.dataTransfer.items].forEach((item, i) =>
{
if (item.kind === "file")
file_to_upload = item.getAsFile();
2025-05-02 05:58:01 +02:00
});
}
else
{
2025-05-02 05:58:01 +02:00
[...ev.dataTransfer.files].forEach((file, i) =>
{
file_to_upload = file;
});
2025-05-02 05:58:01 +02:00
}
uploadFile(file_to_upload);
2025-05-02 05:58:01 +02:00
}
function dragOverHandler(ev)
{
2025-05-02 05:58:01 +02:00
ev.preventDefault();
}
function dragEnterHandler(ev)
{
document.getElementById('drop_zone').classList.add('dragover');
ev.preventDefault();
}
2025-05-02 05:58:01 +02:00
function dragLeaveHandler(ev)
{
if (ev.target === document.getElementById('drop_zone'))
{
document.getElementById('drop_zone').classList.remove('dragover');
}
}
2025-05-02 05:58:01 +02:00
function uploadFile(file)
{
2025-05-02 05:58:01 +02:00
const url = '/';
2025-05-02 05:58:01 +02:00
const formData = new FormData();
formData.append('uploadedFile', file, file.name);
document.getElementById('status').textContent = 'se esta subiendo el archivo';
fetch(url,
{
method: 'POST',
2025-05-02 05:58:01 +02:00
body: formData,
})
.then(
response =>
{
if (response.ok)
{
document.getElementById('status').textContent = 'se subio el archivo';
}
else
{
document.getElementById('status').textContent = 'Hubo un error subiendo el archivo';
}
}
)
2025-05-02 05:58:01 +02:00
}
</script>
</body>
</html>