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(function (file) {
    let reader = new FileReader();

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

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

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

この関数は file() を呼び出し、その成功コールバックとして FileReader を使ってファイルをテキストとして読み込むメソッドを指定します。 FileReader の load イベントハンドラーは、読み込んだ文字列を readFile() メソッドが呼ばれたときに指定した successCallback に渡すようにセットアップされています。同様に、error ハンドラーは、指定された errorCallback を呼び出すようにセットアップされます。

仕様書

Specification
File and Directory Entries API
# dom-filesystemfileentry-file

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
file

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報