FileReader: readAsText() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

FileReader 接口的 readAsText() 方法用于读取指定的 BlobFile 的内容。读取操作完成后,readyState 属性会变为 DONE,触发 loadend 事件,并且 result 属性将包含文件内容,格式为文本字符串。

注意: Blob.text() 方法是更新的、基于 Promise 的 API,用于将文件读取为文本。

注意: 此方法会将整个文件内容加载到内存中,不适合处理大文件。对于大文件,建议使用 readAsArrayBuffer()

语法

js
readAsText(blob)
readAsText(blob, encoding)

参数

blob

要从中读取的 BlobFile

encoding 可选

指定返回数据使用的编码的字符串。如果未指定此参数,则默认假定为 UTF-8。

返回值

无(undefined)。

示例

HTML

html
<input type="file" /><br />
<p class="content"></p>

JavaScript

js
const content = document.querySelector(".content");
const fileInput = document.querySelector("input[type=file]");

fileInput.addEventListener("change", previewFile);

function previewFile() {
  const file = fileInput.files[0];
  const reader = new FileReader();

  reader.addEventListener("load", () => {
    // this will then display a text file
    content.innerText = reader.result;
  });

  if (file) {
    reader.readAsText(file);
  }
}

结果

规范

规范
File API
# readAsDataText

浏览器兼容性

另见