FileSystemSyncAccessHandle: truncate() Methode

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.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist nur verfügbar in Dedicated Web Workers.

Die truncate()-Methode der FileSystemSyncAccessHandle-Schnittstelle ändert die Größe der mit dem Handle verbundenen Datei auf eine angegebene Anzahl von Bytes.

Hinweis: In früheren Versionen der Spezifikation wurden close(), flush(), getSize() und truncate() fälschlicherweise als asynchrone Methoden angegeben, und ältere Versionen einiger Browser implementieren sie auf diese Weise. Alle aktuellen Browser, die diese Methoden unterstützen, implementieren sie jedoch als synchrone Methoden.

Syntax

js
truncate(newSize)

Parameter

newSize

Die Anzahl an Bytes, auf die die Datei geändert werden soll.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn das zugehörige Zugriffs-Handle bereits geschlossen ist oder wenn die Änderung der Binärdaten der Datei aus anderen Gründen fehlschlägt.

QuotaExceededError DOMException

Wird ausgelöst, wenn die newSize größer als die ursprüngliche Größe der Datei ist und das Speicherlimit des Browsers übersteigt. Speicherquote.

TypeError

Wird ausgelöst, wenn das zugrunde liegende Dateisystem die Einstellung der Dateigröße auf die neue Größe nicht unterstützt.

Beispiele

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();
}

Spezifikationen

Specification
File System Standard
# api-filesystemsyncaccesshandle-truncate

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch