File.type

File オブジェクトによって表されるファイルのメディアタイプ (MIME) を返します。

構文

var name = file.type;

ファイルのタイプを示すメディアタイプ (MIME) を含む文字列。たとえば、 PNG 画像の場合は "image/png" です。

<input type="file" multiple onchange="showType(this)">
function showType(fileInput) {
  var files = fileInput.files;

  for (var i = 0; i < files.length; i++) {
    var name = files[i].name;
    var type = files[i].type;
    alert("Filename: " + name + " , Type: " + type);
  }
}

メモ: 現在の実装に基づくと、ブラウザーは実際にファイルのバイトストリームを読み取ってメディアタイプを判断している訳ではありません。ファイルの拡張子に基づいて推測します。 PNG 画像ファイルを .txt に改名すると "text/plain" となり、"image/png" とはなりません。さらに file.type は一般的に、画像、 HTML 文書、音声、動画などの一般的なファイルタイプに対してのみ信頼できます。一般的ではないファイルの拡張子に対しては、空の文字列を返します。クライアントの構成 (Windows レジストリーなど) によっては、一般的なタイプの場合でも予期しない値が発生することがあります。開発者は、このプロパティを唯一の検証方法として信頼しないことをお勧めします。

仕様書

Specification
File API
# dfn-type

ブラウザーの互換性

BCD tables only load in the browser

関連情報