FileSystemEntry: moveTo()-Methode

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.

Die Methode moveTo() des FileSystemEntry Interface 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 Einschränkungen bezüglich dessen, was Sie tun können:

  • Ein Verzeichnis kann nicht in sich selbst verschoben werden.
  • Ein Eintrag kann nicht ohne Angabe eines neuen Namens in sein übergeordnetes Verzeichnis verschoben werden. Durch Angabe eines neuen Namens kann moveTo() auch als Umbenennungsoperation dienen.
  • Beim Verschieben eines Verzeichnisses erfolgt das Verschieben immer rekursiv; Unterordner können nicht ausgelassen werden.
  • Sie können eine Datei nicht so verschieben, dass sie ein bestehendes Verzeichnis ersetzt, und Sie können auch kein Verzeichnis so verschieben, dass es eine bestehende Datei ersetzt. Eine Datei kann jedoch eine Datei und ein Verzeichnis ein Verzeichnis ersetzen.
  • Sie können ein Verzeichnis nur überschreiben, 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 wird, wird der Eintrag umbenannt, sodass dieser String als neuer Datei- oder Verzeichnisname dient.

successCallback Optional

Eine Funktion, die aufgerufen wird, wenn die Verschiebeoperation erfolgreich abgeschlossen ist. Sie erhält einen einzigen Eingabeparameter: ein FileSystemEntry basiertes Objekt, 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 FileError, das beschreibt, was schiefgelaufen ist.

Rückgabewert

Keiner (undefined).

Ausnahmen

FileError.INVALID_MODIFICATION_ERR

Die angeforderte Operation beinhaltet eine unmögliche Änderung, wie das Verschieben eines Verzeichnisses in sich selbst oder einen seiner eigenen Unterordner oder das Kopieren eines Elements innerhalb desselben Verzeichnisses ohne Umbenennung.

FileError.QUOTA_EXCEEDED_ERR

Die Operation überschreitet das Speicherplatzkontingent des Benutzers oder es steht nicht genügend Speicherplatz für den Abschluss der Operation zur Verfügung.

Beispiele

Dieses Beispiel zeigt, wie eine temporäre Logdatei in ein dauerhafteres "log"-Verzeichnis verschoben wird, 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

BCD tables only load in the browser

Siehe auch