FileSystemSyncAccessHandle: truncate() method
Baseline 2023
Newly available
Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is only available in Dedicated Web Workers.
  The truncate() method of the
  FileSystemSyncAccessHandle interface resizes the file associated with the handle to a specified number of bytes.
Syntax
truncate(newSize)
Parameters
- newSize
- 
    The number of bytes to resize the file to. 
Return value
None (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 newSizeis larger than the original size of the file, and exceeds the browser's storage quota.
- TypeError
- 
    Thrown if the underlying file system does not support setting the file size to the new size. 
Examples
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();
}
Specifications
| Specification | 
|---|
| File System Standard # api-filesystemsyncaccesshandle-truncate | 
Browser compatibility
BCD tables only load in the browser