FileSystemFileEntry: file() 方法

FileSystemFileEntry 介面的 file() 方法返回一個 File 物件,該物件可用於讀取目錄條目所代表的檔案的內容。

語法

js
file(successCallback)
file(successCallback, errorCallback)

引數

successCallback

File 成功建立時呼叫的回撥函式;File 物件將作為唯一引數傳遞給回撥函式。

errorCallback 可選

如果提供了此引數,則必須是一個方法,當嘗試建立 File 時發生錯誤時會被呼叫。此回撥函式接收一個 DOMException 物件作為輸入,該物件描述了錯誤。

返回值

無(undefined)。

示例

此示例建立了一個名為 readFile() 的方法,該方法讀取一個文字檔案,並在讀取完成後使用接收到的文字(作為字串)呼叫指定的回撥函式。如果發生錯誤,則呼叫指定(可選)的錯誤回撥函式。

js
function readFile(entry, successCallback, errorCallback) {
  entry.file((file) => {
    let reader = new FileReader();

    reader.onload = () => {
      successCallback(reader.result);
    };

    reader.onerror = () => {
      errorCallback(reader.error);
    };

    reader.readAsText(file);
  }, errorCallback);
}

此函式呼叫 file(),並將其成功回撥指定為一個方法,該方法接著使用 FileReader 將檔案作為文字讀取。FileReader 的 load 事件處理程式被設定為將載入的字串傳遞給呼叫 readFile() 方法時指定的 successCallback;同樣,其 error 處理程式被設定為呼叫指定的 errorCallback

規範

規範
File and Directory Entries API
# dom-filesystemfileentry-file

瀏覽器相容性

另見