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 Blob
, and can be used in any context that a Blob can. In particular, FileReader
, URL.createObjectURL()
, createImageBitmap()
, and XMLHttpRequest.send()
accept both Blob
s and File
s.
See Using files from web applications for more information and examples.
Constructor
File()
-
Returns a newly constructed
File
.
Instance properties
File.prototype.lastModified
Read only-
Returns the last modified time of the file, in millisecond since the UNIX epoch (January 1st, 1970 at Midnight).
File.prototype.lastModifiedDate
Read only-
Returns the last modified
Date
of the file referenced by theFile
object. File.prototype.name
Read only-
Returns the name of the file referenced by the
File
object. File.prototype.webkitRelativePath
Read only-
Returns the path the URL of the
File
is relative to.
File
implements Blob
, so it also has the following properties available to it:
File.prototype.size
Read only-
Returns the size of the file in bytes.
File.prototype.type
Read 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
Blob
object containing the data in the specified range of bytes of the sourceBlob
. Blob.prototype.stream()
-
Transforms the
File
into aReadableStream
that can be used to read theFile
contents. Blob.prototype.text()
-
Transforms the
File
into a stream and reads it to completion. It returns a promise that resolves with aUSVString
(text). Blob.prototype.arrayBuffer()
-
Transforms the
File
into a stream and reads it to completion. It returns a promise that resolves with anArrayBuffer
.
Specifications
Specification |
---|
File API # file-section |
Browser compatibility
BCD tables only load in the browser
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)