gpt4 book ai didi

android - Cordova android 文件系统困难

转载 作者:行者123 更新时间:2023-11-30 00:36:25 27 4
gpt4 key购买 nike

我们正在使用 cordova 开发一个 android 应用程序,文件将被同步。Cordova 是最新的,但问题是我们的文件保存在主存储目录中。

文件 url 如下所示: file:///storage/emulated/0/{our_directory}//

在 Cordova 更新后,我们被迫设置 <preference name="AndroidPersistentFileLocation" value="Compatibility" />在 config.xml 中,仍然可以找到我们的文件。

现在我们真的很想将我们的文件放在内部数据目录中。因此,如果我们当然可以删除 config.xml 中的“兼容性”设置,那么所有文件都将不可见。

如果我们切换到内部数据目录,我们会遇到两个问题:

  1. 在过渡期间,我们需要访问两个目录(兼容性:file:///storage/emulated/0/{our_directory}// 和新的正确内部数据目录:file:///data/user/0/{our_app_id}/files/files/{our_directory}//)。如果我们改为内部 window.requestFileSystem(LocalFileSystem.PERSISTENT,0,fn)传递内部应用程序数据目录的根目录。那么如何读取或写入不在此目录中的文件呢?我发现,cordova.file.externalRootDirectory提供旧路径。关于如何访问这两个目录的任何想法?
  2. 另一件事是,我们可能希望将所有文件从旧目录移动到新的正确的内部应用程序数据目录中。关于如何做到这一点有什么想法吗?

提前致谢!

最佳答案

如果您已经知道要存储和检索文件的 URL,您可以使用:

window.resolveLocalFileSystemURL(URL, 回调);

回调将传递给目录条目。

要移动文件,您可以使用 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

关于android - Cordova android 文件系统困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com