The File and Directory Entries API simulates a local file system that web apps can navigate within and access files in. You can develop apps which read, write, and create files and/or directories in a virtual, sandboxed file system.
File and Directory Entries API
Getting access to a file system
There are two ways to get access to file systems defined in the current specification draft:
- When handling a
drop
event for drag and drop, you can callDataTransferItem.webkitGetAsEntry()
to get theFileSystemEntry
for a dropped item. If the result isn'tnull
, then it's a dropped file or directory, and you can use file system calls to work with it. - The
HTMLInputElement.webkitEntries
property lets you access theFileSystemFileEntry
objects for the currently selected files, but only if they are dragged-and-dropped onto the file chooser (bug 1326031). IfHTMLInputElement.webkitdirectory
istrue
, the<input>
element is instead a directory picker, and you getFileSystemDirectoryEntry
objects for each selected directory.
Interfaces
The File and Directory Entries API includes the following interfaces:
-
FileSystem
-
Represents a file system.
-
FileSystemEntry
-
The basic interface representing a single entry in a file system. This is implemented by other interfaces which represent files or directories.
-
FileSystemFileEntry
-
Represents a single file in a file system.
-
FileSystemDirectoryEntry
-
Represents a single directory in a file system.
-
FileSystemDirectoryReader
-
Created by calling
FileSystemDirectoryEntry.createReader()
, this interface provides the functionality which lets you read the contents of a directory.
Specifications
Specification |
---|
File and Directory Entries API # api-domfilesystem |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
File_and_Directory_Entries_API |
7
|
≤18
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.
|
50
|
No
|
15
|
11.1
|
≤37
|
18
|
50
|
14
|
11.3
|
1.0
|
name |
7
|
≤18
|
50
|
No
|
15
|
11.1
|
≤37
|
18
|
50
|
14
|
11.3
|
1.0
|
root |
7
|
≤18
|
50
|
No
|
15
|
11.1
|
≤37
|
18
|
50
|
14
|
11.3
|
1.0
|
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API