FileSystem

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

File and Directory Entries API インターフェイスの FileSystem は、ファイルシステムを表現するために使用されます。これらのオブジェクトは、任意のファイルシステムエントリの filesystem プロパティから取得できます。ブラウザによっては、ファイルシステムを作成・管理するための追加の API を提供しているものもあり、例えば Chrome の requestFileSystem() メソッドのようなものがあります。

このインターフェイスは、ユーザーのファイルシステムへのアクセスを許可しません。その代わり、ブラウザのサンドボックス内に「仮想ドライブ」が存在します。ユーザーのファイルシステムにアクセスするには、Chrome 拡張機能をインストールするなどしてユーザーを呼び出す必要があります。関連する Chrome API はこちらを参照してください。

基本コンセプト

FileSystem オブジェクトにアクセスするには、2つの方法があります。

  1. window.requestFileSystem() を呼び出すことで、Web アプリのためだけに作成されたサンドボックス化されたファイルシステムを直接要求することができます。その呼び出しが成功した場合、コールバックハンドラが実行され、ファイルシステムを記述する FileSystem オブジェクトをパラメータとして受け取ります
  2. ファイルシステムエントリオブジェクトの filesystem プロパティから取得できます

プロパティ

FileSystem.name 読取専用
ファイルシステム名を表す USVString。この名前は、公開されたファイルシステムのリスト全体の中で一意です。
FileSystem.root 読取専用
ファイルシステムのルートディレクトリを表す FileSystemDirectoryEntry オブジェクト。このオブジェクトを使用すると、ファイルシステム内のすべてのファイルとディレクトリにアクセスすることができます。

仕様

仕様書 ステータス コメント
File and Directory Entries API
FileSystem の定義
ドラフト

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
FileSystemChrome 完全対応 7
代替名
完全対応 7
代替名
代替名 非標準の名前 DOMFileSystem を使用しています。
Edge 完全対応 ≤18
接頭辞付き 補足
完全対応 ≤18
接頭辞付き 補足
接頭辞付き WebKit のベンダー接頭辞が必要
補足 Edge only supports this API in drag-and-drop scenarios using the the DataTransferItem.webkitGetAsEntry() method. It's not available for use in file or folder picker panels (such as when you use an <input> element with the HTMLInputElement.webkitdirectory attribute.
Firefox 完全対応 50IE 未対応 なしOpera 完全対応 15
接頭辞付き
完全対応 15
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 11.1WebView Android 完全対応 ≤37
代替名
完全対応 ≤37
代替名
代替名 非標準の名前 DOMFileSystem を使用しています。
Chrome Android 完全対応 18
代替名
完全対応 18
代替名
代替名 非標準の名前 DOMFileSystem を使用しています。
Firefox Android 完全対応 50Opera Android 完全対応 14
接頭辞付き
完全対応 14
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0
接頭辞付き
完全対応 1.0
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
nameChrome 完全対応 7Edge 完全対応 ≤18Firefox 完全対応 50IE 未対応 なしOpera 完全対応 15Safari 完全対応 11.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 50Opera Android 完全対応 14Safari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0
rootChrome 完全対応 7Edge 完全対応 ≤18Firefox 完全対応 50IE 未対応 なしOpera 完全対応 15Safari 完全対応 11.1WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 50Opera Android 完全対応 14Safari iOS 完全対応 11.3Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
非標準の名前を使用しています。
非標準の名前を使用しています。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

あわせて参照