HTMLInputElement: files property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The HTMLInputElement.files
property allows you to access the FileList
selected with the <input type="file">
element.
Value
A FileList
object listing the selected files, if any, or null
if the HTMLInputElement
is not of type="file"
.
Examples
The example below shows how you can access the HTMLInputElement.files
property and log the name, date modified, size, and type of each file selected by the user.
HTML
<input id="files" type="file" multiple />
JavaScript
Note that HTMLInputElement.files
still returns an instance of FileList
even if no files are
selected.
Therefore it's safe to iterate through it with for...of
without checking if any files are selected.
const fileInput = document.getElementById("files");
console.log(fileInput.files instanceof FileList); // true even if empty
for (const file of fileInput.files) {
console.log(file.name); // prints file name
let fileDate = new Date(file.lastModified);
console.log(fileDate.toLocaleDateString()); // prints legible date
console.log(
file.size < 1000 ? file.size : Math.round(file.size / 1000) + "KB",
);
console.log(file.type); // prints MIME type
}
Specifications
Specification |
---|
HTML Standard # dom-input-files-dev |
Browser compatibility
BCD tables only load in the browser