Draft
This page is not complete.
Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The FileSystemWritableFileStream
interface of the File System Access API
is a WritableStream
object with additional convenience methods, which operates on a single file on disk. The interface is accessed through the FileSystemFileHandle.createWritable()
method.
Properties
Inherits properties from its parent, WritableStream
.
Methods
Inherits methods from its parent, WritableStream
.
FileSystemWritableFileStream.write
- Writes content into the file the method is called on, at the current file cursor offset.
FileSystemWritableFileStream.seek
- Updates the current file cursor offset to the position (in bytes) specified.
FileSystemWritableFileStream.truncate
- Resizes the file associated with the stream to be the specified size in bytes.
Examples
This asynchronous function opens the 'Save File' picker, which returns a FileSystemFileHandle
once a file is selected. From which a writable stream is then created using the FileSystemFileHandle.createWritable()
method.
A user defined Blob
is then written to the stream which is subsequently closed.
async function saveFile() {
// create a new handle
const newHandle = await window.showSaveFilePicker();
// create a FileSystemWritableFileStream to write to
const writableStream = await newHandle.createWritable();
// write our file
await writableStream.write(imgBlob);
// close the file and write the contents to disk.
await writableStream.close();
}
The following show different examples of options that can be passed into the write()
method.
// just pass in the data (no options)
writableStream.write(data)
// writes the data to the stream from the determined position
writableStream.write({ type: "write", position: position, data: data })
// updates the current file cursor offset to the position specified
writableStream.write({ type: "seek", position: position })
// resizes the file to be size bytes long
writableStream.write({ type: "truncate", size: size })
Specifications
Specification | Status | Comment |
---|---|---|
File System Access API The definition of 'FileSystemWritableFileStream' in that specification. |
Working Draft | Initial definition. |
Browser compatibility
BCD tables only load in the browser