cordova文件插件无法按预期工作

时间:2014-07-19 10:49:55

标签: cordova cordova-plugins

我一直在尝试将文件从tmp目录复制/移动到iOS上我的应用程序中的Documents或Library目录。

两人都失败了,给我一个错误。 (错误代码6 NO_MODIFICATION_ALLOWED_ERR)。

https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md

根据这里的文档,理论上我应该能够将路径转换为目录对象,然后能够在那里移动/复制文件。文档和图书馆有r / w访问权限。文档没有说明首先请求文件系统的所有内容。所以我有点困惑的是如何实际能够将文件复制到持久存储中。

window.resolveLocalFileSystemURL(fileURL, function(file){
    console.log('Moving File');
    file.moveTo(window.MainApp.FolderObject, newName, window.MainApp.SuccessHandler, window.MainApp.ErrorHandler);
}, window.MainApp.ErrorHandler);

FolderObject的创建方式如下:

window.resolveLocalFileSystemURL(window.MainApp.FileFolder,function(dir){
        window.MainApp.FolderObject = dir;
    }, window.MainApp.ErrorHandler);

MainApp.FileFolder指向:file://// Library /

在通过控制台测试时,文档中提到的目录也无法解析。这就是为什么将文件复制到所谓的可访问的Documents文件夹失败的原因。

请帮助,这非常令人沮丧和困惑。

1 个答案:

答案 0 :(得分:0)

我并不完全记得我最终是如何解决这个问题的,因为它已经有一段时间了,但我进入了我的代码并找到了这个函数,该函数位于onDeviceReady部分:

window.resolveLocalFileSystemURL(cordova.file.dataDirectory,function(dir){
        window.MainApp.FolderObject = dir;
    }, window.MainApp.ErrorHandler);

这似乎打开了在应用程序内部使用的永久存储空间,因为window.MainApp.FolderObject始终被引用并完成其工作。希望这可以帮助。