gpt4 book ai didi

javascript - 使用 Phonegap 3.3.0 for ios 访问文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:50 28 4
gpt4 key购买 nike

我正在尝试使用 Phonegap[cordova 3.3.0] 在 IOS 上处理文件。我阅读了如何访问文件并在 phone gap 的 API 文档中阅读了它们。还添加了这样的插件

  $ cordova plugin add org.apache.cordova.file
$ cordova plugin ls
[ 'org.apache.cordova.file' ]
$ cordova plugin rm org.apache.cordova.file

$ cordova plugin add org.apache.cordova.file-transfer
$ cordova plugin ls
[ 'org.apache.cordova.file',
'org.apache.cordova.file-transfer' ]
$ cordova plugin rm org.apache.cordova.file-transfer

函数 gotFS(fileSystem) 未在 onDeviceReady() 函数之后调用。

这是我使用的代码:

       function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}

function gotFS(fileSystem) {
fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
}

function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}

function gotFile(file){
readDataUrl(file);
readAsText(file);
}

function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as data URL");
console.log(evt.target.result);
};
reader.readAsDataURL(file);
}

function readAsText(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("Read as text");
console.log(evt.target.result);
};
reader.readAsText(file);
}

function fail(evt) {
console.log(evt.target.error.code);
}

此代码适用于 android。但是对于 Ios,我收到 ReferenceError: Can't find variable: LocalFileSystem在这一行-

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

最佳答案

如果没有定义 LocalFileSystem,几乎可以肯定意味着没有加载插件的 JavaScript 代码。

您是否使用任何其他 Cordova API?您能判断是否正在从您的 HTML 页面加载 cordova.js 以及它是否正确运行吗?

在 iOS 上,解决此类问题的最佳调试技术之一是使用 Safari 连接到 iPad(或模拟器),然后运行

location.reload()

来自 JavaSCript 控制台。如果 cordova.js 遇到错误,那么它可能会在加载文件插件之前停止运行。

(FWIW,LocalFileSystem 从来不应该是一个真实的对象;它实际上是一个接口(interface),window 应该实现。我会切换到使用 window.PERSISTENT为了与文件 API 规范兼容。也就是说,Cordova(为了向后兼容)应该在 windowLocalFileSystem 上设置 PERSISTENT 和 TEMPORARY 符号。)

关于javascript - 使用 Phonegap 3.3.0 for ios 访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21283256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com