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
This interface will not grant you access to the users filesystem. Instead you will have a "virtual drive" within the browser sandbox. If you want to gain access to the users filesystem you need to invoke the user by eg. installing a Chrome extension. The relevant Chrome API can be found here.
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.
There are two ways to get access to a
- 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 a
FileSystemobject describing the file system.
- You can get it from a file system entry object, through its
USVStringrepresenting the file system's name. This name is unique among the entire list of exposed file systems.
FileSystemDirectoryEntryobject which represents the file system's root directory. Through this object, you can gain access to all files and directories in the file system.
|File and Directory Entries API||Editor's Draft||Draft of proposed API|
This API has no official W3C or WHATWG specification.
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
|Feature||Chrome||Firefox (Gecko)||Internet Explorer||Microsoft Edge||Opera||Safari (WebKit)|
|Basic support||13webkit||50 (50)||No support||(Yes)||(Yes) webkit||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|
 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