web api instance method
FileSystemEntry: moveTo() method
The FileSystemEntry interface’s method
moveTo() moves the file
specified by the entry to a new location on the file system, or renames the file if
the destination directory is the same as the source.
There are some typical restrictions on what you can do:
- A directory can’t be moved into itself.
- An entry can’t be moved into its parent directory unless you specify a new name.
Specifying a new name lets
moveTo()double as a rename operation. - When moving a directory, the move is always recursive; you can’t leave out subfolders.
- You can’t move a file such that it replaces an existing directory, and you can’t move a directory such that it replaces an existing file. However, a file can replace a file and a directory can replace a directory.
- You can only overwrite a directory if it’s empty.
Syntax
moveTo(newParent, newName)
moveTo(newParent, newName, successCallback)
moveTo(newParent, newName, successCallback, errorCallback)
Parameters
newParent- : A
FileSystemDirectoryEntryobject specifying the destination directory for the move operation.
- : A
newNameOptional- : If this parameter is provided, the entry is renamed to have this string as its new file or directory name.
successCallbackOptional- : A function which is called when the move operation is successfully completed.
Receives a single input parameter: a
FileSystemEntrybased object providing the moved item’s new details.
- : A function which is called when the move operation is successfully completed.
Receives a single input parameter: a
errorCallbackOptional- : An optional callback which is executed if an error occurs while moving the items.
There’s a single parameter: a
DOMExceptiondescribing what went wrong.
- : An optional callback which is executed if an error occurs while moving the items.
There’s a single parameter: a
Return value
None (undefined).
Exceptions
DOMException.INVALID_MODIFICATION_ERR- : The requested operation involves an impossible change, such as moving a directory inside itself or one of its own child directories, or copying an item within the same directory without renaming it.
DOMException.QUOTA_EXCEEDED_ERR- : The operation exceeded the user’s storage quota, or there isn’t enough storage space left to complete the operation.
Examples
This example shows how a temporary log file might be moved into a more permanent “log” directory when it exceeds a megabyte in size.
workingDirectory.getFile(
"tmp/log.txt",
{},
(fileEntry) => {
fileEntry.getMetadata((metadata) => {
if (metadata.size > 1048576) {
workingDirectory.getDirectory(
"log",
{},
(dirEntry) => {
fileEntry.moveTo(dirEntry);
},
handleError,
);
}
});
},
handleError,
);
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.