Да будет код...

This commit is contained in:
2026-05-20 23:32:01 +03:00
commit b903cca6e2
4 changed files with 99 additions and 0 deletions

31
lib_chunk_file.js Normal file
View File

@@ -0,0 +1,31 @@
// Размер чанка в байтах
const CHUNK_SIZE = 1024 * 1024; // 1MB
async function uploadFileInChunks(file) {
const totalChunks = Math.ceil(file.size / CHUNK_SIZE);
for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {
// Вычисляем начало и конец текущего чанка
const start = chunkIndex * CHUNK_SIZE;
const end = Math.min(start + CHUNK_SIZE, file.size);
// Извлекаем чанк из файла
const chunk = file.slice(start, end);
// Создаём FormData для отправки чанка
const formData = new FormData();
formData.append('file_chunk', chunk);
formData.append('chunk_index', chunkIndex);
formData.append('total_chunks', totalChunks);
formData.append('filename', file.name);
// Отправляем чанк на сервер
await fetch('upload.php', {
method: 'POST',
body: formData
});
}
}