JavaScript Blob.text() — прочитати блоб як текст


Метод text() повертає проміс із текстовим вмістом блоба.

автор: NagarD

Загальний опис

Це сучасна заміна FileReader.readAsText() — той самий результат, але одним рядком await file.text(), без обробників подій.

Вміст завжди тлумачиться як UTF-8. Файл в іншому кодуванні (windows-1251) вийде «крякозябрами» — для нього потрібен arrayBuffer() і TextDecoder.

Показати поступ читання цей метод не вміє — для великих файлів зі смугою поступу лишається FileReader.

автор: NagarD

Порада

await file.text() — це все, що потрібно для читання текстового файлу. FileReader бери лише заради поступу.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
text 76+ 69+ 14+ 63+ 79+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
text 76+ yes yes 14+

Приклади

+ запропонувати свій приклад у пісочниці

Читання файлу одним рядком — і коли так не можна.

HTML

<input type="file" id="file">

JS

document.getElementById('file').addEventListener('change', async event => {
    const file = event.target.files[0];

    // один рядок замість усього FileReader
    const text = await file.text();
    console.log(text.slice(0, 100));

    // а для windows-1251 — тільки через TextDecoder:
    const buffer = await file.arrayBuffer();
    console.log(new TextDecoder('windows-1251').decode(buffer).slice(0, 100));
});
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід