2017-02-16 125 views
-2

我正在编写一个应用程序,该应用程序在我的cordova应用程序(正在使用Intel XDK构建)中的www/images文件夹中包含1000多个小图像。该应用需要检查更新并下载用户没有的图像以及其他内容。我希望将新图像保存到与现有图像(www/images)相同的文件夹中,并且无法在任何地方找到如何执行此操作。我找到的所有文章都是关于Cordova将相机图像保存到相册/相机胶卷等的文章。Cordova将图像下载保存到www文件夹中

内容将通过“注入”脚本运行,并将其保存到localStorage。我只是在努力与图像。

回答

0

据我所知,你不能这样做。 www文件夹是应用程序包的一部分,并且被沙盒保护以免被写入。这是别人在这里得到的答案:Cordova Write To WWW Directory (iOS)

您必须使用File API来写入应用程序可用的其中一个可写文件区域。你可以在这里找到一些如何做到这一点的例子:https://github.com/johnwargo/apache-cordova-api-cookbook-code/tree/master/chapter10-file

从书中的一些细节:

科尔多瓦文件API提供它所需要 与设备的本地目录结构进行交互方法的应用程序。 API 公开了应用程序可以用来浏览文件系统的方法, 读取,写入,复制,移动和删除文件。应用程序不能仅访问文件系统的任何部分,而只能访问移动设备上的临时文件存储位置(如下所述)。

Cordova的File API实现部分基于W3C File API:目录和系统规范 (www.w3.org/TR/file-system-api)。并非所有W3C规范的功能都已实现,但API提供了大多数移动开发人员所需的基本功能。

应用程序可以使用此API在 设备文件系统上读取和写入文件。应用程序可能会使用多种可用的存储选项之一来存储应用程序数据,但 开发人员也可以使用文件系统来使用文件系统持久存储应用程序 设置或应用程序数据,编写文本文件 (以XML或JSON格式),运行应用程序 。此外,请记住,相机(第3章)和Capture(第4章)API将文件写入文件系统,应用程序 使用File API根据需要操作这些文件。

大多数智能手机提供的应用程序有两种不同类型的文件 存储空间。为了存储临时文件,设备会公开一个 临时存储位置。对于 应用程序的操作不可或缺的内容和数据,在 应用程序关闭并重新启动后,应用程序应使用 持久性存储器后,该内容和数据必须保持可用状态。

一般情况下,一个应用程序可能使用瞬态 数据,这是分析或操纵 大量数据时,写入到文件系统作为存储 管理策略的一部分,或者作为交换空间数据临时存储。使用临时存储时,应用程序可以在不受惩罚的情况下从存储区域读取 ,并在设备的可用存储限制内根据需要删除文件。当应用程序关闭或设备重启时,设备操作系统可能会自动清空临时存储器 - 为其他应用程序腾出存储空间 。

另一方面,持久性存储更稳定;设备OS 可在重新启动期间以及应用程序关闭时对其进行保护。仅当 应用程序从设备上卸载时,操作系统才会清空应用程序的永久存储器。

在示例应用程序,应用程序的UI暴露了 用作示于图 10.1与不同的文件系统类型进行交互的按钮。从图中可以看出,我使用jQuery Mobile为应用程序的UI提供了 以简化代码并让jQuery Mobile处理渲染文件列表,在页面之间转换以及 等。

相关问题