如何为cordova app创建一个单独的目录并在其中存储数据?

时间:2016-01-28 08:37:06

标签: javascript jquery cordova jquery-mobile cordova-plugins

我想为我的cordova项目创建一个特定的目录。我不知道该怎么做。 我提到所以可能链接,如, How to move file to app directory cordova

cordova, android app how to create subfolder  和其他一些链接。 但目前尚不清楚他们是否正在使用任何cordova插件,或者我们可以使用纯javascript。这些对我不起作用。 如果有任何插件或功能,请建议。

感谢。

1 个答案:

答案 0 :(得分:2)

您需要使用此插件:https://www.npmjs.com/package/cordova-plugin-file

我不知道您使用的是什么版本的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);

onDirectorySuccessonDirectoryFail的功能如下:

onDirectorySuccess: function(parent){
    console.log(parent);
},
onDirectoryFail: function(error){
    console.log("Unable to create new directory: " + error.code);
}

获取目录中的文件路径:

var filePath = directoryEntry.toURL() + "/" + folderName + "/" + fileName;

获取文件:

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 fileTransfer = new FileTransfer();
fileTransfer.download(URL, filePath, downloadComplete, downloadFail, true);

这不是你的情况,但我希望它有所帮助。