HTMLInputElement: files プロパティ

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.

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 となる

for (const file of fileInput.files) {
  console.log(file.name); // ファイル名を表示
  let fileDate = new Date(file.lastModified);
  console.log(fileDate.toLocaleDateString()); // 日付を表示
  console.log(
    file.size < 1000 ? file.size : Math.round(file.size / 1000) + "KB",
  );
  console.log(file.type); // MIME タイプを表示
}

仕様書

Specification
HTML
# dom-input-files-dev

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
files

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報