android - GetFile Cordova 3.4.0 err.code 1000

标签 android cordova html5-filesystem

我尝试使用 cordova 3.4.0 获取文件:

    FileManager.prototype.ReadAsTextFromFile = function (fileName, readDataCallBack) {
    var that = this;
    try {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
            fileSystem.root.getFile(fileName, {create: false}, 
                function (fileEntry) {
                    fileEntry.file(
                        function (file){
                            var reader = new FileReader();                             
                            reader.onloadend = readDataCallBack;
                            reader.readAsText(file);
                        }                   
                    , function(err){alert('ReadFile' + " fail: " + err.code);});
                }
            , function(err){alert('GetFile' + " fail: " + err.code);});
        }, function(err){alert('FileSystem' + " fail: " + err.code);});
    } catch (e) {
        logError(e);
    }
}       

但是在调用getfile时得到err.code 1000。

文件名是:

var fileName = "/scard/" + reliefsSubfolderName + reliefname 
               + String.fromCharCode(47) + reliefsManifestFileName;

/scard/my_dir_on_card/my_file_name.drd(drd是我的扩展名,但是是一个文本文件)

我可以知道实现目标的正确方法是什么吗?

最佳答案

我想您需要省略文件名中的前导“/”。
错误代码 1000 的最可能原因是路径文件不存在,同时通过 getFile 获取引用并将创建选项设置为 false

fileSystem.root.getFile(fileName, {create: false},...

您可以在调用 getFile 之前尝试检查完整的文件路径,看看它是否有效。除初始协议(protocol)外,您的路径不应包含多个连续的“/”。例如 cdvfile://localhost/persistent/scard.....

console.log(fileSystem.root.toURL() + fileName);

关于android - GetFile Cordova 3.4.0 err.code 1000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22603337/

相关文章:

javascript - Cordova navigator.device 问题

ios - iOS 上的 Cordova/PhoneGap UI 响应能力

html - PERSISTENT 文件系统存储与 chrome 存储在哪里?

javascript - HTML 5 文件 API 在浏览器中上传文件并将内容保存为字符串

Android Studio 未检测到我安装的 jdk

android - 如何指定从 Android 模拟器调用 Web 服务的 URL?

java - Android - 如何根据屏幕尺寸和按钮动态地以编程方式添加按钮?

java - 如何使用 MVVM 正确验证登录表单?

java - 从 javascript 函数访问 Java String 对象

javascript - Chrome 扩展程序将数据保存到本地文件