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

View in English Always switch to English

FileSystemEntry: Methode moveTo()

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die Methode moveTo() des FileSystemEntry-Interfaces verschiebt die durch den Eintrag angegebene Datei an einen neuen Ort im Dateisystem oder benennt die Datei um, wenn das Zielverzeichnis mit dem Quellverzeichnis identisch ist.

Es gibt einige typische Beschränkungen, die Sie beachten sollten:

  • Ein Verzeichnis kann nicht in sich selbst verschoben werden.
  • Ein Eintrag kann nicht in sein übergeordnetes Verzeichnis verschoben werden, es sei denn, Sie geben einen neuen Namen an. Durch das Angeben eines neuen Namens kann moveTo() auch als Umbenennungsoperation fungieren.
  • Beim Verschieben eines Verzeichnisses ist das Verschieben immer rekursiv; Unterordner können nicht ausgelassen werden.
  • Sie können keine Datei so verschieben, dass sie ein vorhandenes Verzeichnis ersetzt, und Sie können kein Verzeichnis so verschieben, dass es eine vorhandene Datei ersetzt. Eine Datei kann jedoch eine Datei ersetzen und ein Verzeichnis kann ein Verzeichnis ersetzen.
  • Ein Verzeichnis kann nur überschrieben werden, wenn es leer ist.

Syntax

js
moveTo(newParent, newName)
moveTo(newParent, newName, successCallback)
moveTo(newParent, newName, successCallback, errorCallback)

Parameter

newParent

Ein FileSystemDirectoryEntry-Objekt, das das Zielverzeichnis für die Verschiebeoperation angibt.

newName Optional

Wenn dieser Parameter angegeben ist, wird der Eintrag umbenannt und erhält diesen String als neuen Datei- oder Verzeichnissnamen.

successCallback Optional

Eine Funktion, die aufgerufen wird, wenn die Verschiebeoperation erfolgreich abgeschlossen wurde. Sie erhält einen einzelnen Eingabeparameter: ein Objekt basierend auf FileSystemEntry, das die neuen Details des verschobenen Elements bereitstellt.

errorCallback Optional

Ein optionaler Rückruf, der ausgeführt wird, wenn beim Verschieben der Elemente ein Fehler auftritt. Es gibt einen einzigen Parameter: ein DOMException, das beschreibt, was schiefgegangen ist.

Rückgabewert

Keiner (undefined).

Ausnahmen

DOMException.INVALID_MODIFICATION_ERR

Der angeforderte Vorgang beinhaltet eine unmögliche Änderung, wie z. B. das Verschieben eines Verzeichnisses in sich selbst oder in eines seiner eigenen Unterverzeichnisse oder das Kopieren eines Elements innerhalb desselben Verzeichnisses ohne Umbenennung.

DOMException.QUOTA_EXCEEDED_ERR

Die Operation hat das Speicherkontingent des Benutzers überschritten oder es steht nicht genug Speicherplatz zur Verfügung, um die Operation abzuschließen.

Beispiele

Dieses Beispiel zeigt, wie eine temporäre Protokolldatei in ein beständigeres "log"-Verzeichnis verschoben werden könnte, wenn sie eine Größe von einem Megabyte überschreitet.

js
workingDirectory.getFile(
  "tmp/log.txt",
  {},
  (fileEntry) => {
    fileEntry.getMetadata((metadata) => {
      if (metadata.size > 1048576) {
        workingDirectory.getDirectory(
          "log",
          {},
          (dirEntry) => {
            fileEntry.moveTo(dirEntry);
          },
          handleError,
        );
      }
    });
  },
  handleError,
);

Browser-Kompatibilität

Siehe auch