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 vom Eintrag spezifizierte Datei an einen neuen Speicherort im Dateisystem oder benennt die Datei um, wenn das Zielverzeichnis dasselbe wie das Quellverzeichnis ist.
Es gibt einige typische Beschrä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. Das Angeben eines neuen Namens erlaubt es
moveTo()
, auch als Umbenennungsoperation zu dienen. - 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 bestehendes Verzeichnis ersetzt, und Sie können ein Verzeichnis nicht so verschieben, dass es eine bestehende Datei ersetzt. Ein Datei kann jedoch eine Datei und ein Verzeichnis ein Verzeichnis ersetzen.
- Sie können ein Verzeichnis nur überschreiben, 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 Verschiebungsoperation angibt. newName
Optional-
Wenn dieser Parameter angegeben wird, wird der Eintrag umbenannt, um diesen String als neuen Datei- oder Verzeichnisnamen zu haben.
successCallback
Optional-
Eine Funktion, die aufgerufen wird, wenn die Verschiebungsoperation erfolgreich abgeschlossen ist. Sie erhält einen einzelnen Eingabeparameter: ein
FileSystemEntry
basiertes Objekt, das die neuen Details des verschobenen Elements liefert. errorCallback
Optional-
Ein optionaler Callback, der ausgeführt wird, wenn ein Fehler beim Verschieben der Elemente auftritt. Es gibt einen einzigen Parameter: eine
DOMException
, die beschreibt, was schiefgelaufen ist.
Rückgabewert
Keiner (undefined
).
Ausnahmen
DOMException.INVALID_MODIFICATION_ERR
-
Die angeforderte Operation beinhaltet eine unmögliche Änderung, wie das Verschieben eines Verzeichnisses in sich selbst oder in eines seiner eigenen Unterverzeichnisse, oder das Kopieren eines Elements innerhalb desselben Verzeichnisses, ohne es umzubenennen.
DOMException.QUOTA_EXCEEDED_ERR
-
Die Operation hat das Speicherplatzkontingent des Benutzers überschritten, oder es ist nicht genügend Speicherplatz vorhanden, um die Operation abzuschließen.
Beispiele
Dieses Beispiel zeigt, wie eine temporäre Protokolldatei in ein dauerhaftes "Log"-Verzeichnis verschoben werden könnte, wenn sie eine Megabytegröße überschreitet.
workingDirectory.getFile(
"tmp/log.txt",
{},
(fileEntry) => {
fileEntry.getMetadata((metadata) => {
if (metadata.size > 1048576) {
workingDirectory.getDirectory(
"log",
{},
(dirEntry) => {
fileEntry.moveTo(dirEntry);
},
handleError,
);
}
});
},
handleError,
);