JavaScript FileReader.readAsArrayBuffer() — прочитати файл як байти
Метод readAsArrayBuffer() читає файл як сирі байти — ArrayBuffer.
Загальний опис
Потрібен для розбору двійкових форматів, хешування, перевірки сигнатури.
Сьогодні його замінює await file.arrayBuffer() — коротше й без обробників. FileReader лишається виправданим лише тоді, коли треба показати поступ читання великого файлу.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| readAsArrayBuffer | 7+ | 3.6+ | 6+ | 12.1+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| readAsArrayBuffer | 4.4+ | yes | yes | 6+ |
Приклади
+ запропонувати свій приклад у пісочниці
Поступ читання — єдина причина брати саме цей метод.
HTML
<progress id="bar" max="100" value="0"></progress>
JS
const file = new File([new Uint8Array(1024)], 'data.bin');
const bar = document.getElementById('bar');
const reader = new FileReader();
reader.onprogress = event => {
if (event.lengthComputable) {
bar.value = event.loaded / event.total * 100;
}
};
reader.onload = () => {
const bytes = new Uint8Array(reader.result);
console.log('Прочитано байтів:', bytes.length);
};
reader.readAsArrayBuffer(file);
// без поступу — простіше:
// const buffer = await file.arrayBuffer();
Коментарі
Коментарів ще немає — будьте першим!