Javascript 如何为cordova应用程序创建单独的目录并在其中存储数据?
我想为我的cordova项目创建一个特定目录。我不知道该怎么办。 我引用了很多链接,比如, 以及其他一些链接。 但目前还不清楚他们是否使用了cordova插件,或者我们可以使用纯javascript。这些对我不起作用。 请建议是否有任何插件或功能可用Javascript 如何为cordova应用程序创建单独的目录并在其中存储数据?,javascript,jquery,cordova,jquery-mobile,cordova-plugins,Javascript,Jquery,Cordova,Jquery Mobile,Cordova Plugins,我想为我的cordova项目创建一个特定目录。我不知道该怎么办。 我引用了很多链接,比如, 以及其他一些链接。 但目前还不清楚他们是否使用了cordova插件,或者我们可以使用纯javascript。这些对我不起作用。 请建议是否有任何插件或功能可用 谢谢。您需要使用此插件: 我不知道你用的是什么版本的cordova,也不知道这个插件是否更新过,但当我使用它时,它不适用于WindowsPhone。Android和iOS都可以 要获取文件系统,请执行以下操作: window.requestFi
谢谢。您需要使用此插件: 我不知道你用的是什么版本的cordova,也不知道这个插件是否更新过,但当我使用它时,它不适用于WindowsPhone。Android和iOS都可以 要获取文件系统,请执行以下操作:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, downloadFile, fileSystemFail);
Donwload文件函数:
downloadFile: function(fileSystem){
// your code
}
要创建目录,请执行以下操作:
var directoryEntry = fileSystem.root;
var folderName = "Folder";
directoryEntry.getDirectory(folderName, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail);
var filePath = directoryEntry.toURL() + "/" + folderName + "/" + fileName;
var fileTransfer = new FileTransfer();
fileTransfer.download(URL, filePath, downloadComplete, downloadFail, true);
其中onDirectorySuccess
和onDirectoryFail
是如下函数:
onDirectorySuccess: function(parent){
console.log(parent);
},
onDirectoryFail: function(error){
console.log("Unable to create new directory: " + error.code);
}
要获取目录中文件的路径,请执行以下操作:
var directoryEntry = fileSystem.root;
var folderName = "Folder";
directoryEntry.getDirectory(folderName, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail);
var filePath = directoryEntry.toURL() + "/" + folderName + "/" + fileName;
var fileTransfer = new FileTransfer();
fileTransfer.download(URL, filePath, downloadComplete, downloadFail, true);
要获取文件,请执行以下操作:
directoryEntry.getFile(folderName + "/" + fileName, { create: true, exclusive: false }, onFileSuccess, onFileFail);
要先删除文件,您需要获取该文件:
directoryEntry.getFile(folderName + "/" + fileName, { create: true, exclusive: false }, onFileSuccessRemove, onFileFail);
然后在成功函数中:
function onFileSuccessRemove(entry) {
entry.remove();
}
我的应用程序带有文件下载功能,因此下面是将文件保存在目录中的代码:
var directoryEntry = fileSystem.root;
var folderName = "Folder";
directoryEntry.getDirectory(folderName, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail);
var filePath = directoryEntry.toURL() + "/" + folderName + "/" + fileName;
var fileTransfer = new FileTransfer();
fileTransfer.download(URL, filePath, downloadComplete, downloadFail, true);
这不是你的情况,但我希望能有所帮助。试着展示一些代码是的。我读到了。但是文档有点混乱。这些目录已经创建了吗?以及如何将文件写入该目录?发生了一个错误,即
LocalFileSystem
undefined在该行之前,我有一段代码window.requestFileSystem=window.requestFileSystem | | window.webkitRequestFileSystem代码>。也许它能解决问题。插件导入正确了吗?很好,但现在文件系统未定义。