我正在编写一个应用程序,该应用程序在我的cordova应用程序的www / images文件夹中容纳了1000多个小图像(我正在使用英特尔XDK进行构建)。该应用程序需要检查更新并下载用户没有的图像以及其他内容。我希望将新图像保存到与现有图像(www / images)相同的文件夹中,并且无法在任何地方找到如何执行此操作。我找到的只是关于科尔多瓦将照相机图像保存到图库/相机胶卷等的文章。
内容将通过"注入"将它保存到localStorage的脚本。我只是在努力解决这些问题。
答案 0 :(得分:0)
据我所知,你不能这样做。 www文件夹是应用程序包的一部分,并且是沙箱,以保护它免受写作。这是其他人在这里得到的答案:Cordova Write To WWW Directory (iOS)。
您必须使用File API写入应用程序可用的其中一个可写文件区域。您可以在此处找到一些示例:https://github.com/johnwargo/apache-cordova-api-cookbook-code/tree/master/chapter10-file。
书中的一些细节:
Cordova File API为应用程序提供了所需的方法 与设备的本地目录结构进行交互。 API 公开应用程序可用于浏览文件系统的方法, 读取,写入,复制,移动和删除文件。应用程序无法访问 只是文件系统的任何部分,只有临时和持久性 移动设备上的文件存储位置(如下所述)。
Cordova的File API实现部分基于W3C 文件API:目录和系统规范 (www.w3.org/TR/file-system-api)。不是所有的能力 W3C规范已经实现,但API提供了 大多数移动开发人员需要的基本功能。
应用程序将使用此API来读取和写入文件 设备文件系统。应用程序可能会使用众多可用中的一个 Web应用程序存储应用程序数据的存储选项,但是 开发人员还可以使用文件系统来持久化应用程序 使用文件系统设置或应用程序数据,编写文本文件 (例如,以XML或JSON格式)应用程序时根据需要 运行。另外,请记住相机(第3章)和Capture (第4章)API将其文件写入文件系统,应用程序 使用File API根据需要操作这些文件。
大多数智能手机为应用程序提供两种不同类型的文件 储存空间。要存储临时文件,设备会公开一个 临时存储位置。对于不可或缺的内容和数据 应用程序的操作,必须在之后仍然可用 应用程序关闭并重新启动应用程序应该使用 持久存储。
通常,应用程序可能会将临时存储用于临时存储 数据,作为内存的一部分写入文件系统的数据 管理策略或在分析或操纵a时的交换空间 大量数据。通过临时存储,应用程序可以读取 来自和写入存储区域而不受惩罚,创建和 在可用的存储限制范围内根据需要删除文件 装置。设备OS可以自动清空临时存储 当应用程序关闭或设备重新启动时 - 释放存储空间 其他应用的空间。
另一方面,持久存储更稳定;设备操作系统 在重新启动期间和应用程序关闭时保护它。一个 应用程序的持久存储将仅在操作系统清空时清空 应用程序已从设备中卸载。
在示例应用程序中,应用程序的UI公开了按钮 用于与不同的文件系统类型进行交互,如图所示 图10.1。从图中可以看出,我使用了jQuery Mobile 应用程序的UI为了简化代码而让jQuery 移动处理渲染文件列表,在页面和页面之间转换 等等。