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
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. newNameOptional-
Wenn dieser Parameter angegeben ist, wird der Eintrag umbenannt und erhält diesen String als neuen Datei- oder Verzeichnissnamen.
successCallbackOptional-
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. errorCallbackOptional-
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.
workingDirectory.getFile(
"tmp/log.txt",
{},
(fileEntry) => {
fileEntry.getMetadata((metadata) => {
if (metadata.size > 1048576) {
workingDirectory.getDirectory(
"log",
{},
(dirEntry) => {
fileEntry.moveTo(dirEntry);
},
handleError,
);
}
});
},
handleError,
);