HTMLInputElement: files 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

HTMLInputElement.files 属性允许您访问使用 <input type="file"> 元素选择的 FileList

一个 FileList 对象,列出了选定的文件(如果有),或者在 HTMLInputElementtype 不是 "file" 时为 null

示例

下面的示例演示了如何访问 HTMLInputElement.files 属性,并记录用户选择的每个文件的名称、修改日期、大小和类型。

HTML

html
<input id="files" type="file" multiple />

JavaScript

请注意,即使没有选择文件,HTMLInputElement.files 仍会返回 FileList 的实例。因此,可以直接使用 for...of 循环遍历它,而无需检查是否有文件被选中。

js
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
}

规范

规范
HTML
# dom-input-files-dev

浏览器兼容性

另见