Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The File and Directory Entries API interface FileSystem
is used to represent a file system. These objects can be obtained from the filesystem
property on any file system entry. Some browsers offer additional APIs to create and manage file systems, such as Chrome's requestFileSystem()
method.
Because this is a non-standard API, whose specification is not currently on a standards track, it's important to keep in mind that not all browsers implement it, and those that do may implement only small portions of it. Check the Browser compatibility section for details.
Basic concepts
There are two ways to get access to a FileSystem
object:
- You can directly ask for one representing a sandboxed file system created just for your web app directly by calling
window.requestFileSystem()
. If that call is successful, it executes a callback handler, which receives as a parameter aFileSystem
object describing the file system. - You can get it from a file system entry object, through its
filesystem
property.
Properties
FileSystem.name
Read only- A
USVString
representing the file system's name. This name is unique among the entire list of exposed file systems. FileSystem.root
Read only- A
FileSystemDirectoryEntry
object which represents the file system's root directory. Through this object, you can gain access to all files and directories in the file system.
Specifications
Specification | Status | Comment |
---|---|---|
File and Directory Entries API | Editor's Draft | Draft of proposed API |
This API has no official W3C or WHATWG specification.
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Microsoft Edge | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 13webkit | 50 (50) | No support | (Yes)[1] | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | 0.16webkit | 50.0 (50) | No support | No support | No support |
[1] Microsoft Edge implements this interface under the name WebKitFileSystem
, and supports its use only in drag-and-drop scenarios using 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.