File
The File interface provides information about files and allows JavaScript in a web page to access their content.
File objects are generally retrieved from a FileList object returned as a result of a user selecting files using the <input> element, from a drag and drop operation's DataTransfer object, or from the mozGetAsFile() API on an HTMLCanvasElement.
A File object is a specific kind of a Blob, and can be used in any context that a Blob can. In particular, FileReader, URL.createObjectURL(), createImageBitmap(), and XMLHttpRequest.send() accept both Blobs and Files.
See Using files from web applications for more information and examples.
Constructor
File()-
Returns a newly constructed
File.
Instance properties
-
File.prototype.lastModifiedRead only -
Returns the last modified time of the file, in millisecond since the UNIX epoch (January 1st, 1970 at Midnight).
-
File.prototype.lastModifiedDateRead only -
Returns the last modified
Dateof the file referenced by theFileobject. -
File.prototype.nameRead only -
Returns the name of the file referenced by the
Fileobject. -
File.prototype.webkitRelativePathRead only -
Returns the path the URL of the
Fileis relative to.
File implements Blob, so it also has the following properties available to it:
-
File.prototype.sizeRead only -
Returns the size of the file in bytes.
-
File.prototype.typeRead only -
Returns the MIME type of the file.
Instance methods
The File interface doesn't define any methods, but inherits methods from the Blob interface:
Blob.prototype.slice([start[, end[, contentType]]])-
Returns a new
Blobobject containing the data in the specified range of bytes of the sourceBlob. Blob.prototype.stream()-
Transforms the
Fileinto aReadableStreamthat can be used to read theFilecontents. Blob.prototype.text()-
Transforms the
Fileinto a stream and reads it to completion. It returns a promise that resolves with aUSVString(text). Blob.prototype.arrayBuffer()-
Transforms the
Fileinto a stream and reads it to completion. It returns a promise that resolves with anArrayBuffer.
Specifications
| Specification |
|---|
| File API # file-section |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
File |
13 |
12 |
7
3-7
Non-standard implementation.
|
10 |
11.5 |
4 |
≤37 |
18 |
7
4-7
Non-standard implementation.
|
11.5 |
3.2 |
1.0 |
File |
38 |
79 |
28 |
No |
25 |
10 |
38 |
38 |
28 |
25 |
10 |
3.0 |
lastModified |
13 |
18 |
15 |
No |
16 |
10 |
≤37 |
Yes |
No |
No |
10 |
Yes |
lastModifiedDate |
13 |
12 |
15-61 |
10 |
16 |
7-10 |
≤37 |
Yes |
No |
No |
7-10 |
Yes |
name |
13 |
12 |
3.6 |
10 |
16 |
7 |
≤37 |
Yes |
4 |
No |
7 |
Yes |
type |
13 |
12 |
3.6 |
10 |
16 |
7 |
≤37 |
Yes |
No |
No |
7 |
Yes |
webkitRelativePath |
13 |
13 |
49 |
No |
No |
11.1 |
≤37 |
18 |
49 |
No |
11.3 |
1.0 |
See also
- Using files from web applications
FileReader- Using the DOM File API in chrome code (for privileged code running in Gecko, such as Firefox add-ons)
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/File