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. |
Editor's Draft | Initial specification. |
This API has no official W3C or WHATWG specification.
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 13 webkit | 50 (50) | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | 0.16 webkit | 50.0 (50) | No support | No support | No support |