FileLinks — Временное хранение файлов на 30 дней
🚀 Хранение 30 дней • Без регистрации

Храните и передавайте
файлы моментально

Загружайте документы, архивы или медиафайлы. Они будут доступны по ссылке в течение 30 дней, после чего автоматически удалятся.

📁
Перетащите файл сюда или нажмите для выбора
⏳

Хранение 30 дней

Файлы автоматически удаляются с сервера через 30 дней с момента загрузки для экономии места.

🔒

Приватность

Никаких публичных каталогов и обязательной регистрации. Доступ строго по уникальной ссылке.

⚡

Быстро и просто

Мгновенная генерация ссылки сразу после окончания загрузки. Удобно делиться в мессенджерах.



const fileInput = document.getElementById('file-input'); const fileLabel = document.getElementById('file-label'); const submitBtn = document.getElementById('submit-btn'); const dropZone = document.getElementById('drop-zone'); const form = document.getElementById('upload-form'); const resultDiv = document.getElementById('result'); fileInput.addEventListener('change', () => { if (fileInput.files.length > 0) { fileLabel.textContent = '📄 ' + fileInput.files[0].name; submitBtn.style.display = 'inline-block'; } }); dropZone.addEventListener('dragover', (e) => { e.preventDefault(); dropZone.classList.add('dragover'); }); dropZone.addEventListener('dragleave', () => { dropZone.classList.remove('dragover'); }); dropZone.addEventListener('drop', (e) => { e.preventDefault(); dropZone.classList.remove('dragover'); if (e.dataTransfer.files.length > 0) { fileInput.files = e.dataTransfer.files; fileLabel.textContent = '📄 ' + fileInput.files[0].name; submitBtn.style.display = 'inline-block'; } }); form.addEventListener('submit', async (e) => { e.preventDefault(); const formData = new FormData(); formData.append('file', fileInput.files[0]); submitBtn.disabled = true; submitBtn.textContent = 'Загружаем...'; resultDiv.style.display = 'none'; try { const response = await fetch('/', { method: 'POST', body: formData }); const data = await response.json(); resultDiv.style.display = 'block'; if (data.success) { resultDiv.className = 'result'; resultDiv.innerHTML = `✅ Ссылка для скачивания успешно создана (хранится 30 дней):<br><a href="${data.download_url}" target="_blank">${data.download_url}</a>`; } else { resultDiv.className = 'result error'; resultDiv.textContent = '❌ ' + data.message; } } catch (err) { resultDiv.style.display = 'block'; resultDiv.className = 'result error'; resultDiv.textContent = '❌ Ошибка сервера. Попробуйте позже.'; } finally { submitBtn.disabled = false; submitBtn.textContent = 'Загрузить и получить ссылку'; } });
x server