This page is not complete.

Secure context

This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The FileSystemFileHandle interface of the File System Access API represents a handle to a file system entry. The interface is accessed thought the window.showOpenFilePicker() method.


Inherits properties from its parent, FileSystemHandle.


Inherits methods from its parent, FileSystemHandle.

Returns a file object representing the state on disk of the entry represented by the handle.
Creates a FileSystemWritableFileStream that can be used to write to a file.


Reading a File

The following asynchronous function presents a file picker and once a file is chosen, uses the getFile() method to retrieve the contents.

async function getTheFile() {
  // open file picker
  [fileHandle] = await window.showOpenFilePicker(pickerOpts);

  // get file contents
  const fileData = await fileHandle.getFile();

Writing a File

The following asynchronous function writes the given contents to the file handle, and thus to disk.

async function writeFile(fileHandle, contents) {
  // Create a FileSystemWritableFileStream to write to.
  const writable = await fileHandle.createWritable();

  // Write the contents of the file to the stream.
  await writable.write(contents);

  // Close the file and write the contents to disk.
  await writable.close();


Specification Status Comment
The definition of 'FileSystemFileHandle' in that specification.
Unknown Initial definition.

Browser compatibility

BCD tables only load in the browser

See also