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 Interfaces verschiebt die Datei, die durch den Eintrag angegeben ist, an einen neuen Ort im Dateisystem oder benennt die Datei um, wenn das Zielverzeichnis dasselbe wie das Quellverzeichnis ist.

Es gibt einige typische Einschränkungen, was Sie tun können:

  • 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. Einen neuen Namen anzugeben, ermöglicht es, dass moveTo() auch als Umbenennungsoperation fungiert.
  • Beim Verschieben eines Verzeichnisses ist das Verschieben immer rekursiv; Sie können keine Unterordner auslassen.
  • Sie können eine Datei nicht so verschieben, dass sie ein vorhandenes Verzeichnis ersetzt, und Sie können kein Verzeichnis so verschieben, dass es eine vorhandene Datei ersetzt. Jedoch kann eine Datei 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 Verschiebungsoperation angibt.

newName Optional

Wenn dieser Parameter angegeben wird, wird der Eintrag umbenannt, sodass dieser String der neue Datei- oder Verzeichnisname wird.

successCallback Optional

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

errorCallback Optional

Ein optionaler Rückruf, der ausgeführt wird, wenn ein Fehler beim Verschieben der Elemente 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 eines seiner eigenen Unterverzeichnisse oder das Kopieren eines Elements innerhalb desselben Verzeichnisses, ohne es umzubenennen.

FileError.QUOTA_EXCEEDED_ERR

Die Operation hat das Speicherlimit des Benutzers überschritten oder es ist nicht genügend Speicherplatz verfügbar, um die Operation abzuschließen.

Beispiele

Dieses Beispiel zeigt, wie eine temporäre Log-Datei in ein permanenteres "log"-Verzeichnis verschoben werden könnte, wenn sie eine Megabyte-Größe ü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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
moveTo
DeprecatedNon-standard

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.

Siehe auch