FileSystemEntry: moveTo() method
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
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. 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. 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.
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,
);