FileSystemSyncAccessHandle: truncate() method

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

The truncate() method of the FileSystemSyncAccessHandle interface resizes the file associated with the handle to a specified number of bytes.

Syntax

js

truncate(newSize)

Parameters

newSize

The number of bytes to resize the file to.

Return value

A Promise which resolves to undefined.

Exceptions

InvalidStateError DOMException

Thrown if the associated access handle is already closed, or if the modification of the file's binary data otherwise fails.

QuotaExceededError DOMException

Thrown if the newSize is larger than the original size of the file, and exceeds the browser's storage quota.

Examples

js

async function truncateFile() {
  // Get handle to draft file
  const root = await navigator.storage.getDirectory();
  const draftHandle = await root.getFileHandle("draft.txt", { create: true });
  // Get sync access handle
  const accessHandle = await draftHandle.createSyncAccessHandle();

  // Truncate the file to 0 bytes
  accessHandle.truncate(0);

  // Persist changes to disk.
  accessHandle.flush();

  // Always close FileSystemSyncAccessHandle if done.
  accessHandle.close();
}

Note: In earlier versions of the spec, close(), flush(), getSize(), and truncate() were wrongly specified as asynchronous methods. This has now been amended, but some browsers still support the asynchronous versions.

Specifications

Specification
File System Standard
# api-filesystemsyncaccesshandle-truncate

Browser compatibility

BCD tables only load in the browser

See also