问题标签 [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.
android - 使用 cordova-plugin-file 读取大文件
我正在尝试在 Android 上的科尔多瓦应用程序中读取一个大型文本文件。该文件大约 80MB 大。由于内存限制,我决定分块读取此文件。经过我指出的一些研究,该 file.slice 应该可以发挥作用。但这似乎不起作用。slice 后返回的 blob 与整个文件的大小相同。我的期望是可以由 Android 处理的较小的 blob。
这是我使用的代码的摘录:
这是从 Logcat 生成的输出:
[#] 文件切片:86998921 [#] 文件成功:
然后应用程序由于内存不足而崩溃:
11-03 10:37:40.382 4156-4214/com.my.app E/AndroidRuntime: 致命异常: pool-1-thread-3 进程: de.knova.adisys, PID: 4156 java.lang.OutOfMemoryError: 失败在 org.apache.cordova 的 java.lang.StringFactory.newStringFromBytes(StringFactory.java:63) 处的 java.lang.StringFactory.newStringFromBytes(StringFactory.java:185) 处分配 231997140 字节分配和 4194304 个空闲字节和 127MB。 org.file.FileUtils$26.handleData(FileUtils.java:1095)apache.cordova.file.Filesystem.readFileAtURL(Filesystem.java:284) at org.apache.cordova.file.FileUtils.readFileAs(FileUtils.java:1066) at org.apache.cordova.file.FileUtils$6.run(FileUtils .java:327) 在 org.apache.cordova.file.FileUtils$25.run(FileUtils.java:663) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 在 java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:607) 在 java.lang.Thread。运行(线程.java:761)
有谁知道我做错了什么或如何在 Cordova 中读取这些大文件?读取 1024 字节 Blob 就可以了。
android - 在 Android 6 上未返回 fileEntry 结果
我的 Cordova 应用程序中似乎存在文件读取权限问题,但我终生无法正确追踪它。在 Android 5 和 Android 6 之间,我看到对fileEntry
. 有谁知道是否需要更改才能读取 Android > 5 中的文件/目录?
血淋淋的细节:cordova-plugin-file
我只用(调用)将代码复制到了一个 helloWorld 应用程序cordova create hello
,并且得到了相同的结果。我的更改如下:
我在的正文中添加了一个元素index.html
:
我还更改了 中的 stock receivedEvent 方法index.js
,只是为了遍历设备上的各个目录并返回cordova-plugin-file
给我的内容:
可能的安全配置:
我的platforms/android/AndroidManifest.xml
文件包含适当的权限:
这是我在 index.html 中的 CSP(它只是库存的):
结果如下:
Android 5. 注意目录和文件(屏幕外还有其他)
Android 6. 请注意,我在子目录下的一些文件cordova.file.externalRootDirectory
应该显示;它还应该显示子目录本身。
android - Cordova 文件插件:SECURITY_ERR
我有一个使用 Cordova 插件的生产(iOS/Android)混合应用程序。我有一个 Android 用户在使用 File 插件时得到了 SECURITY_ERR。这似乎发生在调用writeFile()
. 我为 Android 写入的文件路径是externalRootDirectory
.
谁能帮我理解为什么 1 个用户(300-400 个)会有这个问题?如果有帮助,用户使用的是 Android 6.0.1。
一些代码如下。我得到的错误是[Error creating file] – Error Msg: [SECURITY_ERR]
,所以.writeFile()
在这种情况下会遇到问题。
cordova - 如何在 ionic / cordova 中读取我的应用程序文件?
我试图简单地阅读下面的文件src/assets/data
(我已经创建了data
包含一些文本文件的目录)。
我尝试了很多方法都没有成功:
和
以及建议另一个答复的内容
对于所有这些解决方案,我总是以以下错误结束:“ A URI supplied to the API was malformed, or the resulting Data URL has exceeded the URL length limitations for Data URLs.
”
我正在运行科尔多瓦ionic cordova run browser --port=8000
并且this.file.applicationDirectory
等于http://localhost:8000/
有人知道如何做这个简单的事情吗?或者我应该将我的data
文件夹移动到另一个地方并使用另一个 API 来简单地读取我的本地应用程序文件?
我在我的中使用以下依赖项版本(以及其他版本)package.json
:
cordova - 获取上传图像的文件传输插件cordova的错误代码3
尝试使用带有以下代码片段的科尔多瓦文件传输插件上传图像。
但我收到错误:
{"code":3,"source":"file:///data/user/0/com.app.package/68-image.jpg","target":" https://api.server.com /v1/users/upload-user-picture ","http_status":null,"body":null,"exception":"链验证失败"}
我尝试到现在:
- 在选项标题中添加连接参数:
options.headers = { 连接:“关闭”};
2.添加true作为上传功能的最后一个参数。
如上所述仍然出现错误。
android - 科尔多瓦中大文件的文件写入和附加
我正在关注使用PhoneGap FileWriter.write for“大”文件方法在cordova android应用程序中写入大文件。但在此我无法附加净 mb 数据。结果只是前 1mb 数据。有人可以帮我解决这个问题吗
我的代码
}
cordova - Phonegap cordova.file 未定义
我有一个 Phonegap 应用程序,我在其中尝试将文件保存到设备的存储中,但是在将插件包含cordova-plugin-file
在 config.xml 文件中之后,该cordova.file
对象仍未定义。我正在使用 cli 使用 Phonegap Build 构建应用程序cli-6.5.0
。
使用 Chrome 检查器工具,我可以看到当我尝试记录cordova.file
对象时,它返回未定义,记录cordova
返回日志中的 cordova 对象。
以下是来自控制台的日志,如上所述:
以下行在我的 config.xml 文件中:
这是我用来保存文件的代码:
但是,此功能永远不会运行,并且我没有通过 Chrome 检查器工具在控制台中看到任何日志。imageBlob
是一个包含 base64 图像的 Blob 对象,该图像已转换为 Blob 对象,但代码永远不会达到那样的程度。
我还使用spec
config.xml 文件中的属性尝试了旧版本的插件,但这不起作用。
cordova - 如何在安装了cordova-plugin-file的cordova中使用w3c File对象?
我正在尝试使用默认的 File() 构造函数创建一个 File 对象,但是由于 cordova-plugin-file 用它自己的 File() 构造函数的实现替换了构造函数,所以我无法获取 File 对象。有没有办法在不删除文件插件的情况下访问 w3c File 构造函数?
此外,是否可以编辑插件,以便可以将 File() 构造函数重命名为 FileCordova() 之类的任何其他内容,以便可以访问默认构造函数和插件的构造函数?
PS:我需要 File 对象传入一个只接受 w3c File 对象的函数,所以插件返回的对象对我来说几乎没用。
ionic-framework - Ionic 3 从录制的文件中获取 base64 音频字符串
我正在使用cordova-plugin-media在我的适用于 android 的 ionic 应用程序中录制语音(具有暂停和恢复功能)。录制完成后,我需要获取 base64 字符串才能使用 html 音频标签播放它。问题是:如果我试图将暂停和恢复的录音保存为 3gp 文件('voice.3gp'),那么当我使用cordova-plugin-file 的readAsDataURL 方法时,我什么也没有收到(回调根本没有调用)。如果我试图将其保存为 mp3 或 wav 文件,那么我只会收到录音的第一部分(暂停前)。我想正确的音频文件扩展名应该是 3gp,因为这个扩展名用于“cordova-plugin-media”的实现,但是我在使用 html 音频标签播放这个文件时遇到了问题。任何帮助都会得到帮助
android - cordova_plugin_file_chooser 不能在同一设备上为两个不同的应用程序工作
我正在使用 cordova cli 来创建 android 应用程序。
我有用户 cordova_plugin_file_chooser
它在下面给出的地方
请注意,与 ContentProvider 一样,DocumentProvider 权限必须是唯一的。您应该更改清单中的 com.ianhanniballake.localstorage.documents 以及 LocalStorageProvider.AUTHORITY 字段。
通过上面,我通过将 android:authorities="com.crypho.localstorage.documents" 更改为 com.12345.localstorate.documents 在我的 AndroidManifest 中进行了更新,但是当我使用 cordova build android 构建应用程序时,它在清单文件中添加了具有现有名称的新实例android:authorities="com.crypho.localstorage.documents"
谁能知道我应该在哪里更改代码?