我们正在开发一个带有cordova的android应用程序,文件将被同步。 Cordova是最新的,但问题是我们的文件保存在主存储目录中。
文件网址如下:
file:///storage/emulated/0/{our_directory}//
在更新后,我们被迫设置
在config.xml中<preference name="AndroidPersistentFileLocation" value="Compatibility" />
,仍然可以找到我们的文件。
现在我们真的希望将我们的文件放在内部数据目录中。 因此,如果我们只是删除config.xml中的“兼容性”设置,那么所有文件都将是不可见的。
如果我们更改为内部数据目录,我们遇到两个问题:
file:///storage/emulated/0/{our_directory}//
和新的正确内部数据目录:file:///data/user/0/{our_app_id}/files/files/{our_directory}//
)。
如果我们更改为interal window.requestFileSystem(LocalFileSystem.PERSISTENT,0,fn)
,则会传递内部应用程序数据目录的根目录。那么如何读取或写入不在此目录中的文件?我发现,cordova.file.externalRootDirectory
提供了旧的道路。关于如何访问这两个目录的任何想法?提前致谢!
答案 0 :(得分:1)
如果您已经知道要存储和检索文件的URL,可以使用:
window.resolveLocalFileSystemURL(URL,callback);
回调将传递给目录条目。
要移动文件,您可以使用fileEntry方法moveTo。
entry.moveTo(parentEntry,“newFile.txt”,成功,失败);
我知道这个文档适用于Cordova 3.3.0,但我相信它仍然相关。
https://cordova.apache.org/docs/en/3.3.0/cordova/file/fileentry/fileentry.html