如何使用Cordova File Plugin在Android / iOs设备子目录中读/写文件?

时间:2016-05-09 14:22:13

标签: android ios file cordova plugins

我正在尝试此代码:

ajax request

由于在Samsung SM-G318ML,内核版本3.10.17-983426上执行,我收到警报,显示以下消息:

function onDeviceReady() {
requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {   
    alert(fileSystem.root.toURL());

    fileSystem.root.getDirectory('myDir', { create: true }, function (myDirEntry) {
        alert(myDirEntry.toURL());

        myDirEntry.getDirectory('mySubDir', { create: true }, function (mySubDirEntry) {
            alert(mySubDirEntry.toURL());
            alert('/myDir/mySubDir creation is done');

        }, getDirectoryError);
    }, getDirectoryError);      
}, requestFileSystemError);

无论如何,当我查看我的设备的文件系统时,我没有创建所需的目录......除此之外,在系统根目录下创建了一个名为.mtp的奇怪目录。

我的目标是在/com.mydomain.mayapp/files/profile/images目录中创建和读取文件。我的代码基于 Sample Link Followed 中提供的示例(在页面末尾);我在英特尔XDK混合应用程序项目中使用Cordova.File插件4.1.0版。
我已经定义了必要的file:data/data/com.mydomain.myapp/files/files/ file:data/data/com.mydomain.myapp/files/files/myDir file:data/data/com.mydomain.myapp/files/files/myDir/mySubDir /myDir/mySubDir creation is done. 权限。

有人能指出我正确的方向吗?欢迎提出所有建议......提前谢谢。

2 个答案:

答案 0 :(得分:1)

我发现另一个非常有用的文档是:cordova-plugin-file

根据这份文件:

cordova.file.dataDirectory - 使用内部存储器在应用程序沙箱中的持久和私有数据存储(在Android上,如果需要使用外部存储器,请使用.externalDataDirectory )。在iOS上,此目录未与iCloud同步(使用.syncedDataDirectory)。 (iOS,Android,BlackBerry 10,windows)

答案 1 :(得分:0)

您正在编写的目录位于数据/数据文件夹中,仅属于您的应用程序,并且无法通过设备文件系统进行访问。

如果您想使用公共文件夹,请查看此表

https://github.com/apache/cordova-plugin-file#android-file-system-layout

选择一个不是私密的文件夹。

例如:externalApplicationStorageDirectory

快乐的编码!