问题标签 [cordova-plugin-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2011 浏览

ios - 如何为 iOS 应用正确启用 iCloud 文档同步?

在我的 Cordova iOS 应用程序中,用户可以将他们的数据备份到一个文件,该文件保存在应用程序容器内的 Documents 文件夹中,然后应该同步到 iCloud。但是,尽管文件已保存,但它从未同步到 iCloud,所以很明显我一定遗漏了一些东西。这些是我采取的步骤:

  • 在 developer.apple.com 上注册的 iCloud 容器和在 xcode 中启用的 iCloud 文档功能:

iCloud 容器

  • NSUbiquitousContainers添加到 Info.plist 的字典:

iCloud 信息

  • 归档构建创建并上传到 App Store,构建通过 Test Flight 发布给测试人员(注意:应用程序已经通过审核并发布到 App Store)。
  • 请注意,Cordova config.xml 不包含设置BackupWebStorage,因此应启用云备份(不确定这是否会影响文档同步)。
  • 用户保存备份文件,该文件保存到应用程序的 Documents 文件夹(注意:应用程序使用 cordova-plugin-file 插件将文件保存到插件变量表示的位置cordova.file.documentsDirectory):

iExplorer

在这一点上,我本以为 xBrowserSync 会出现在存储和 iCloud 使用设置中,但我没有:

存储和 iCloud 使用

我也没有在 iCloud Drive 应用程序中看到 xBrowserSync 文件夹:

iCloud 云端硬盘

当然,我从来没有看到文件同步到我的 Mac 或 icloud.com 上。

显然我错过了一些东西,但我看不到什么。我已经阅读了许多关于如何使其正常工作的 SO 帖子,并且我发现 Apple 的文档不清楚且令人困惑,所以我有点卡在这一点上。有人可以指出我正确的方向吗?

0 投票
1 回答
792 浏览

android - cordova fs.root.getDirectory 在三星 android 手机上失败 (PATH_EXISTS_ERR)

此 Cordova 代码适用于 iOS 和大多数 Android 设备,但在某些三星设备上失败:

三星怎么了?
或者,更重要的是,我怎样才能在所有三星设备上也能做到这一点?

0 投票
0 回答
323 浏览

javascript - cordova-plugin-file moveTo 方法在某些 android 设备上不起作用

我正在使用 cordova-plugin-file moveTo(dir, filename) 函数来移动文件。

调用 file.moveTo 函数,同时调用两个“警报”。该功能仅适用于某些 Android 模拟器/设备。例如,文件已成功移动到运行 android 版本 API 25 的 Nexus_5x 模拟器和运行 Android 版本 4.4.2 的三星 Galaxy Note 2(物理设备)上,但在其他设备上,如 Google Pixel(模拟器)API 24, Nexus_5(模拟器)API 25,Goggle Pixel(硬件)API 23,调用moveTo方法,但文件不移动。

关于什么可能是这个问题的原因的任何想法?文件大小似乎不是问题,我使用非常小的文本文件进行了测试,结果不受影响。

0 投票
0 回答
505 浏览

cordova - 如何在 Cordova 下永久存储文件

我一直在使用plugova-plugin-file插件来存储下载的文件,我的问题是在IOS平台上,但是过了一会儿,这些文件会自动从文件夹中删除,我尝试了这个插件提供的所有目录:

但它总是出错,

谢谢您的帮助

0 投票
1 回答
720 浏览

typescript - 无法从 Ionic 中的 cordova 文件设置 img src

我正在使用cordova-plugin-file-transfercordova-plugin-file下载用户头像并在应用程序中本地显示它们。我已成功获取图像并将它们存储在file.dataDirectoryhttps://ionicframework.com/docs/native/file-transfer/。当我检查目录中的文件时,它说它存在......但是当我尝试将文件的绝对路径设置为<img>标签时,我什么也看不到。我正在动态地拉动路径,但即使我对其进行硬编码......什么也没有。

保存、加载头像的代码:

存储图像的绝对路径如下:

或者在尝试外部存储时:

非常感谢任何帮助!

0 投票
1 回答
1983 浏览

cordova - 添加科尔多瓦插件文件错误

我正在尝试将“文件”插件添加到我的 Phonegap 项目中,但它返回错误:

将“文件”插件添加到 Phonegap/Cordova 项目的正确方法是什么?

ps:我在Windows cmd上。

更新:

尝试添加--save启用选项的插件:

0 投票
1 回答
569 浏览

ios - iOS 上的所有 cordova.file 目录均为空

我正在使用cordova-plugin-file。在 Android 上一切正常,但在 iOS 上,所有目录的路径始终为空。提醒 cordova.file 给我:

我尝试过的事情:thisthis,但似乎没有什么对我有用。

安装的插件列表和版本:

我被卡住了,不知道还能尝试什么。

0 投票
1 回答
1700 浏览

android - 在 Windows 10 中使用 cordova-plugin-file 复制 SQLite 数据库 cordova-sqlite-storage

我需要一些有关cordova-plugin-file 的帮助来备份Windows 10 App 中cordova-sqlite-storage 使用的数据库。我的代码在 Android 平台上运行良好。数据库可以双向复制(备份和恢复)。该应用程序使用的数据库似乎如下:

C:\Users\myuser\AppData\Local\Packages\io.cordova.hellocordova_h35559jr9hy9m\LocalState\sample.db

应用程序尝试使用此位置来定位文件,但未找到:

ms-appx:///databases/sample.db

如何获得 Windows 复制文件的正确位置?

这是我用来复制文件的代码:

备份数据库(名称:字符串):承诺 {

0 投票
0 回答
204 浏览

android - Cordova 应用程序将文件预加载到 cordovoa.file.dataDirectory 中?

很长一段时间以来,我都使用cordova.file.applicationDirectory. 迄今为止,这些文件只是只读的,但现在我需要在应用程序运行时更新这些文件……但它applicationDirectory在 Android 和 iOS 上都是只读文件夹。所以我需要将预加载的文件移动到另一个位置。

我想将这些预加载文件的目录更改为dataDirectory(或另一个可读写的文件夹)。但是,Android 上的预加载文件被添加到 ../platforms/android/assets 文件夹中,而在 iOS 上,我只是通过 Xcode 将它们添加到项目的根目录中。之后,在两个操作系统上,我都可以使用applicationDirectory.

但是,我在哪里手动将文件添加到项目中,以便将它们预加载到cordova.file.dataDirectory?

cordova-plugin-file文档显示,在 Android上它被dataDirectory映射到/data/data/<app-id>/files,在 iOS 上它被映射到~/Library/Application Support/<bundle-id>/files- 但这些是设备映射,在安装应用程序之后。什么是项目目录,我将这些文件添加到的项目文件夹,以便它们dataDirectory在应用安装时预加载?

0 投票
1 回答
769 浏览

javascript - javascript resolveLocalFileSystemURL 触发成功和失败回调

我正在使用以下背靠背命令在我的科尔多瓦应用程序中进行简单的文件检查:

在控制台中。我得到以下信息,但不明白为什么:

在第二次文件检查中,成功和失败都被调用。我做错了什么......而且不理解?

然后我尝试了以下方法并得到了预期的结果:

它打印出“Dir = 10”。显然我不理解我认为我理解的东西。为什么将我的函数包装在一个函数中,而直接将函数引用为成功/失败回调不起作用?