JavaScript FileReader.readAsText() — прочитати файл як текст
Метод readAsText() читає файл як текст. Результат приходить у reader.result після події load.
Загальний опис
Другим аргументом можна задати кодування — і саме тут його перевага над сучасним file.text(), який завжди читає UTF-8. Для файлу в windows-1251 це рятує.
Читання асинхронне: після виклику код одразу йде далі, а результат приходить в обробник.
В усьому іншому метод застарілий: await file.text() робить те саме одним рядком.
- Порада
-
Потрібне кодування, відмінне від UTF-8, — або цей метод, або
автор: NagarDTextDecoderнадarrayBuffer(). Другий шлях сучасніший.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| readAsText | 7+ | 3.6+ | 6+ | 12.1+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| readAsText | 4.4+ | yes | yes | 6+ |
Приклади
+ запропонувати свій приклад у пісочниці
Читання файлу в кирилічному кодуванні.
// файл у windows-1251: це байти слова «Привіт»
const file = new File([new Uint8Array([0xcf, 0xf0, 0xe8, 0xe2, 0xb3, 0xf2])], 'старий.txt');
const reader = new FileReader();
reader.onload = () => {
console.log(reader.result); // 'Привіт'
};
reader.onerror = () => console.error('Не вдалося прочитати');
// друге кодування — те, чого file.text() не вміє
reader.readAsText(file, 'windows-1251');
// сучасний еквівалент для UTF-8:
// const text = await file.text();
Коментарі
Коментарів ще немає — будьте першим!