Sounds good with Cordova 3.5 and org.apache.cordova.file 1.2.1
Some variations are needed for differents paths.
window.resolveLocalFileSystemURL("file:///data/data/my-app-name/databases/name-of.db", function(fs) { var parent = "file://mnt/external_sd/"; var newName = "mybackup.db"; window.resolveLocalFileSystemURL(parent, function(directoryEntry) { fs.copyTo(directoryEntry, newName, function() { alert("Backup ok"); }, failFiles); }); }, failFiles); function failFiles(error) { if (error.code == FileError.NOT_FOUND_ERR) alert("Message : NOT_FOUND_ERR" ) else if (error.code == FileError.SECURITY_ERR) alert("Message : SECURITY_ERR" ) else if (error.code == FileError.ABORT_ERR) alert("Message : ABORT_ERR" ) else if (error.code == FileError.NOT_READABLE_ERR) alert("Message : NOT_READABLE_ERR" ) else if (error.code == FileError.ENCODING_ERR) alert("Message : ENCODING_ERR" ) else if (error.code == FileError.NO_MODIFICATION_ALLOWED_ERR) alert("Message : NO_MODIFICATION_ALLOWED_ERR" ) else if (error.code == FileError.INVALID_STATE_ERR) alert("Message : INVALID_STATE_ERR" ) else if (error.code == FileError.SYNTAX_ERR) alert("Message : SYNTAX_ERR" ) else if (error.code == FileError.INVALID_MODIFICATION_ERR) alert("Message : INVALID_MODIFICATION_ERR" ) else if (error.code == FileError.QUOTA_EXCEEDED_ERR) alert("Message : QUOTA_EXCEEDED_ERR" ) else if (error.code == FileError.PATH_EXISTS_ERR) alert("Message : PATH_EXISTS_ERR" ) }
source share