我正在尝试让我的PhoneGap应用程序在移动设备上创建一个目录,但我仍然遇到相同的错误,这些错误是以下的混合:
ENCODING_ERR - 5 - 网址格式错误.确保URL完整且有效.
PATH_EXISTS_ERR - 12 - 具有相同路径的文件或目录已存在.
INVALID_MODIFICATION_ERR - 9 - 不允许修改请求.例如,应用程序可能正在尝试将目录移动到其自己的子项或将文件移动到其父目录而不更改其名称.
$( document ).on( 'click', '#A2', function () { downloadPhoto(); } ); function downloadPhoto() { alert( "Downloading" ); window.requestFileSystem( LocalFileSystem.PERSISTENT, 0, function systemSuccess( dirEntry ) { alert( "Download about to begin" ); dirEntry.root.getDirectory( 'thisfilenamewillneverexist', { create: true }, function ( fileSystem ) { alert( fileSystem ); }, errorHandler ); }, errorHandler ); } function errorHandler( e ) { var msg = ''; switch ( e.code ) { case FileError.ENCODING_ERR: msg = 'ENCODING_ERR'; break; case FileError.INVALID_MODIFICATION_ERR: msg = 'INVALID_MODIFICATION_ERR'; break; case FileError.INVALID_STATE_ERR: msg = 'INVALID_STATE_ERR'; break; case FileError.NO_MODIFICATION_ALLOWED_ERR: msg = 'NO_MODIFICATION_ALLOWED_ERR'; break; case FileError.NOT_FOUND_ERR: msg = 'NOT_FOUND_ERR'; break; case FileError.NOT_READABLE_ERR: msg = 'NOT_READABLE_ERR'; break; case FileError.PATH_EXISTS_ERR: msg = 'PATH_EXISTS_ERR'; break; case FileError.QUOTA_EXCEEDED_ERR: msg = 'QUOTA_EXCEEDED_ERR'; break; case FileError.SECURITY_ERR: msg = 'SECURITY_ERR'; break; case FileError.TYPE_MISMATCH_ERR: msg = 'TYPE_MISMATCH_ERR'; break; default: msg = 'Unknown Error'; break; }; alert( 'Error: ' + msg ); }
如果我第一次创建文件名,为什么或如何存在?
管理修复错误,结果证明在新创建的目录中创建文件时不需要包含"root".
任何其他人坚持这个问题的代码或类似的东西:
var folderDir; var fileDir; var FolderName = "OSMaps"; $( document ).on( 'click', '#A2', function () { window.requestFileSystem( LocalFileSystem.PERSISTENT, 0, downloadPhoto, errorHandler); } ); function downloadPhoto(fileSystem) { fileSystem.root.getDirectory( FolderName, { create: true, exclusive: false }, function ( dirEntry ) { folderDir = dirEntry; -> folderDir.getFile( 'test.jpg', { create: true, exclusive: false }, <- function ( fileEntry ) { fileDir = fileEntry; }, errorHandler ); }, errorHandler );