Cordova 插件文件2024年8月29日 | 阅读 7 分钟 Cordova 的文件插件实现了一个 File API,允许用户对存储的设备文件执行读/写操作。在 Cordova 框架中,我们可以通过使用 file 插件轻松地使用文件处理。此插件允许用户访问文件的所有主要功能,如 读取、写入、访问、删除 等。 此插件定义了一个全局 cordova.file 对象,并且只有在执行 deviceready 事件后才可用。 安装要在您的应用程序中添加 Cordova 文件插件,首先您需要安装它。为此,在命令提示符下键入以下命令 此插件受不同平台的支持,如 Android、Windows、iOS、Browser 等。但是,在这些平台上不支持 FileReader.readAsArrayBuffer 或 FileWriter.write(blob) 对象。 File API 要求的用户是什么?File API 需要用户端执行一些特定任务,如下所示
在哪里存储文件?重要的 文件系统 目录以 v1.2.0 URL 的形式提供。这些 URL 形式如下:file:///path/to/spot/。如果要将这些 URL 转换为 DirectoryEntry, 您可以通过使用 window.resolveLocalFileSystemURL() 轻松完成。以下是一些可以存储文件的目录
对于 iOS 平台,此目录不同步 iCloud。要将目录与 iCloud 同步,您可以使用 .syncedDataDirectory。
升级说明引入文件插件的 v1.0.0 后,FileEntry 和 DirectoryEntry 的结构已根据发布的规范进行了更改。 在之前的版本中,文件的绝对位置存储在 Entry 对象的 fullPath 属性中。但是,使用文件插件的 v1.0.0,fullPath 属性用于定义文件的路径,该路径相对于 HTML 文件系统的根目录。我们在下面展示了在 v1.0.0 之前 iOS 和 Android 平台的典型文件路径 由于文件插件的 v1.0.0,上述路径可以通过 FileEntry 属性显示,该属性的 fullPath 为 您需要更新您的代码以使用 entry.toURL() 方法,而不是使用 Entry 对象的 fullPath 属性。此方法应在以下两种情况下使用 情况 1:当您的应用程序处理 设备绝对路径 时, 情况 2:路径之前是通过 Entry 对象的 fullPath 属性检索的。 在使用设备绝对路径时,在文件传输插件中遇到了一些问题。因此,旧的插件版本已更新以正确处理文件系统 URL。为此,entry.fullPath 被替换为 entry.toURL() 方法。此方法用于解决在设备上处理文件时遇到的任何问题。 文件插件 v1.1.0 的更新更改了 toURL() 方法的返回值,以便在可能的情况下返回一个绝对的 'file://' URL。新版本还添加了 toInternalURL() 方法以确保 'cdvfile:'-URL。此方法还用于通过以下形式返回文件系统 URL 来唯一标识该文件 文件操作我们可以使用 Cordova 的文件插件对这些特定文件执行很多操作。它允许用户执行各种操作,如 创建、访问、读取、写入、显示、附加 到文件。我们还可以选择将文件存储在项目的临时或永久存储位置。如果我们需要将文件存储在其他平台相关的特定位置,我们可以通过文件插件轻松地完成。 创建持久文件在为我们的项目创建持久文件之前,我们首先必须访问文件系统。借助 requestFileSystem, 我们可以访问持久或临时存储。如果需要临时或持久存储,您可以通过 requestFileSystem 请求它。除非用户授予权限,否则我们无法删除持久存储。 当您通过 requestFileSystem 获得文件系统访问权限时,仅为沙箱文件系统授予此权限。此方法不提供对设备上任何文件系统位置的通用访问权限。您可以使用其他方法来访问沙箱存储之外的文件系统位置,例如 window.resolveLocalFileSystemURL,因为它支持平台特定的位置。 以下代码演示了持久存储的请求。 注意:如果针对本机应用程序或 WebView 客户端,则在使用持久存储之前,我们不需要使用 requestQuota。创建临时文件在临时存储中,当系统存储空间不足时,可以删除文件。在这里,我们演示了一个请求临时存储的示例。 要在临时存储中创建新文件或检索任何现有文件,我们必须调用 getFile 函数。为了执行读取或写入操作,getFile 函数返回一个 FileEntry 对象。 写入文件要写入文件,首先我们需要一个 FileEntry 对象。之后,我们可以调用 createWriter 方法来写入文件。此方法为函数的成功回调返回一个 FileWriter 对象。调用 FileWriter 对象的 write 方法以写入文件。 读取文件为了读取任何现有数据文件,首先我们需要一个 FileEntry 对象。为了获取文件的引用,我们可以使用此对象的 file 属性。 要开始读取操作,我们可以使用 readAsText 方法,当操作完成后,this.result 对象用于存储读取操作的结果。 代码 |
我们请求您订阅我们的新闻通讯以获取最新更新。