FileSystemDirectoryEntry: removeRecursively() method
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see thecompatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
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.
TheFileSystemDirectoryEntry interface's methodremoveRecursively() removesthe directory as well as all of its content, hierarchically iterating over its entiresubtree of descendant files and directories.
To remove a single file, or an empty directory, you can also useFileSystemEntry.remove().
In this article
Syntax
removeRecursively(successCallback)removeRecursively(successCallback, errorCallback)Parameters
successCallbackA function to call once the directory removal process has completed. The callbackhas no parameters.
errorCallbackOptionalA function to be called if an error occurs while attempting to remove the directorysubtree. Receives a
DOMExceptiondescribing the error which occurred asinput.
Return value
None (undefined).
Exceptions
If an error occurs and anerrorCallback was specified, it gets called witha single parameter: aDOMException object describing the error. TheDOMException.code specifies what type of error occurred, as follows:
DOMException.INVALID_MODIFICATION_ERRAn attempt was made to remove the root directory; this is not permitted.
DOMException.NO_MODIFICATION_ALLOWED_ERRThe file system's state doesn't permit modification.
DOMException.NOT_FOUND_ERRThe directory represented by the
FileSystemDirectoryEntryno longerexists.DOMException.NOT_READABLE_ERRThe directory is not accessible; perhaps it's in use by another application or islocked at the operating system level.
DOMException.SECURITY_ERRThe directory could not be removed for security reasons. Possible reasons include:
- The directory and/or its contents may not be safe to access from a Webapplication.
- Too many file system calls are being made.
- Other security concerns as raised by the user agent or the operating system.
Note:If you try to delete a directory which contains one or more files that can't beremoved, or if an error occurs while deletion of a number of files is underway, somefiles may not be deleted. You should provide anerrorCallback to watchfor and handle this, perhaps by trying again.
Examples
directory.removeRecursively( () => { /* The directory was removed successfully */ }, () => { /* an error occurred while removing the directory */ },);