The type property of a Blob object provides the MIME type of the file. It returns an empty string if the type couldn't determined.

Syntax

var mimetype = instanceOfFile.type

Value

A string

Example

var i, fileInput, files, allowedFileTypes;

// fileInput is a HTMLInputElement: <input type="file" multiple id="myfileinput">
fileInput = document.getElementById("myfileinput");

// files is a FileList object (simliar to NodeList)
files = fileInput.files;

// our application only allows *.png, *.jpeg and *.gif images
allowedFileTypes = ["image/png", "image/jpeg", "image/gif"];

for (i = 0; i < files.length; i++) {
  // Test if file.type is an allowed file type.
  if (allowedFileTypes.indexOf(files[i].type) > -1) {
    // file type matched is one of allowed file types. Do something here.
  }
});

Specifications

Specification Status Comment
File API
The definition of 'type' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 5Edge Full support 12Firefox Full support 4IE Full support 10Opera Full support 11Safari Full support 5.1WebView Android No support NoChrome Android No support NoEdge Mobile Full support YesFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support  
Full support
No support  
No support

See also

Document Tags and Contributors

Last updated by: fscholz,