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

瀏覽器相容性

另見