Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. FileSystemSyncAccessHandle
  4. getSize()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

FileSystemSyncAccessHandle: getSize() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨März 2023⁩.

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

Hinweis: Diese Funktion ist nur inDedicated Web Workers verfügbar.

DiegetSize()-Methode derFileSystemSyncAccessHandle-Schnittstelle gibt die Größe der mit dem Handle verbundenen Datei in Bytes zurück.

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

Syntax

js
getSize()

Parameter

Keine.

Rückgabewert

Eine Zahl, die die Größe der Datei in Bytes darstellt.

Ausnahmen

InvalidStateErrorDOMException

Wird ausgelöst, wenn das zugehörige Zugriffshandle bereits geschlossen ist.

Beispiele

Die folgende asynchrone Ereignis-Handler-Funktion ist in einem Web Worker enthalten. Bei Empfang einer Nachricht vom Hauptthread wird:

  • Ein synchrones Datei-Zugriffshandle erstellt.
  • Die Größe der Datei ermittelt und einArrayBuffer erstellt, der sie enthält.
  • Der Dateiinhalte in den Puffer gelesen.
  • Die Nachricht codiert und ans Ende der Datei geschrieben.
  • Die Änderungen auf die Festplatte übermittelt und das Zugriffshandle geschlossen.
js
onmessage = async (e) => {  // Retrieve message sent to work from main script  const message = e.data;  // 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();  // Get size of the file.  const fileSize = accessHandle.getSize();  // Read file content to a buffer.  const buffer = new DataView(new ArrayBuffer(fileSize));  const readBuffer = accessHandle.read(buffer, { at: 0 });  // Write the message to the end of the file.  const encoder = new TextEncoder();  const encodedMessage = encoder.encode(message);  const writeBuffer = accessHandle.write(encodedMessage, { at: readBuffer });  // Persist changes to disk.  accessHandle.flush();  // Always close FileSystemSyncAccessHandle if done.  accessHandle.close();};

Spezifikationen

Specification
File System
# api-filesystemsyncaccesshandle-getsize

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp