JavaScript Blob.text() — прочитати блоб як текст
Метод text() повертає проміс із текстовим вмістом блоба.
Загальний опис
Це сучасна заміна FileReader.readAsText() — той самий результат, але одним рядком await file.text(), без обробників подій.
Вміст завжди тлумачиться як UTF-8. Файл в іншому кодуванні (windows-1251) вийде «крякозябрами» — для нього потрібен arrayBuffer() і TextDecoder.
Показати поступ читання цей метод не вміє — для великих файлів зі смугою поступу лишається FileReader.
- Порада
-
автор: NagarDawait file.text()— це все, що потрібно для читання текстового файлу.FileReaderбери лише заради поступу.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| text | 76+ | 69+ | 14+ | 63+ | 79+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| 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));
});
Коментарі
Коментарів ще немає — будьте першим!