JavaScript logo

В веб-версии моего http-загрузчика обнаружилась проблема – длина responseText отличается от реального размера файла. Оказалось, что файл содержал русскую строку текста в utf-8. А я размер получал как responseText.length – длина строки в символах, но не байтах.

Проблема решилась просто – используем Blob:

let size = new Blob([this.responseText]).size;