This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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 read-only webkitEntries
property of the HTMLInputElement
interface contains an array of file system entries (as objects based on FileSystemEntry
) representing files and/or directories selected by the user using an <input>
element of type file
, but only if that selection was made using drag-and-drop: selecting a file in the dialog will leave the property empty (bug 1326031).
The array can only contain directories if the webkitdirectory
property is true
. This means the <input>
element was configured to let the user choose directories.
This property is called webkitEntries
in the specification due to its origins as a Google Chrome-specific API. It's likely to be renamed someday.
Syntax
var entries = HTMLInputElement.webkitEntries;
Value
An array of objects based on FileSystemEntry
, each representing one file which is selected in the <input>
element. More specifically, files are represented by FileSystemFileEntry
objects, and, if they're allowed, directories are represented by FileSystemDirectoryEntry
objects.
Example
This example shows how to create a file selection <input>
element and process the selected files.
HTML
<input id="files" type="file" multiple>
JavaScript
document.getElementById("files").addEventListener("change", function(event) { event.target.webkitEntries.forEach(function(entry) { /* do stuff with the entry */ }); });
Each time a change
event occurs, this code iterates over the selected files, obtaining their FileSystemEntry
-based objects and acting on them.
Specifications
Specification | Status | Comment |
---|---|---|
File and Directory Entries API The definition of 'webkitEntries' in that specification. |
Draft | Initial specification. |
This API has no official W3C or WHATWG specification.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
webkitEntries | Chrome Full support 13 | Edge Full support ≤18 | Firefox Full support 50 | IE No support No | Opera No support No | Safari Full support 11.1 | WebView Android Full support ≤37 | Chrome Android Full support 18 | Firefox Android Full support 50 | Opera Android No support No | Safari iOS Full support 11.3 | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.