File.type
構文
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 レジストリなど) によっては、一般的なタイプの場合でも予期しない値が発生することがあります。開発者は、このプロパティを唯一の検証方法として信頼しないことをお勧めします。
仕様
仕様書 | 状態 | 備考 |
---|---|---|
File API type の定義 |
草案 | 初回定義 |
ブラウザの対応
BCD tables only load in the browser