Встречается на собеседованиях • сегодня

Как загрузить файл частями

Для загрузки файла частями можно использовать File API и Blob.slice(). Разделяем файл на чанки и отправляем их последовательно или параллельно через fetch или XMLHttpRequest.

Пример:

javascript
async function uploadFileInChunks(file, chunkSize = 1024 * 1024) {
  const totalChunks = Math.ceil(file.size / chunkSize);
  
  for (let i = 0; i < totalChunks; i++) {
    const start = i * chunkSize;
    const end = Math.min(start + chunkSize, file.size);
    const chunk = file.slice(start, end);
    
    const formData = new FormData();
    formData.append('file', chunk);
    formData.append('chunkIndex', i);
    formData.append('totalChunks', totalChunks);
    
    await fetch('/upload', {
      method: 'POST',
      body: formData
    });
  }
}

Ключевые моменты:

  1. Разбиваем файл на части через Blob.slice()
  2. Каждый чанк отправляем с метаданными (индекс, общее количество)
  3. Сервер должен уметь собирать чанки в правильном порядке

Для больших файлов можно добавить:

  • Прогресс загрузки
  • Возобновление при разрыве соединения
  • Параллельную загрузку чанков
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы