1

我在互联网上看到了很多关于使用 phonegap 写入文件的问题,但没有一个对我有用。我已经尝试过官方 phonegap 文档,但它总是返回error.code 1.我不知道这到底是什么意思。

我尝试了以下解决方案

// Wait for PhoneGap to load
document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is ready

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

function fail(){
    console.log('fail');
}

function gotFS(fileSystem) {
    var path = "test.txt";
    fileSystem.root.getFile(path, {create: true, exclusive: false}, gotFileEntry, fail);

}

function gotFileEntry(fileEntry) {
    fileEntry.createWriter(gotFileWriter, fail);
}

function gotFileWriter(writer) {
    writer.onwrite = function(evt) {
        console.log("write success");
    };
    writer.write("some sample text");
    $.ajax({
        url:'test.txt',
        success:function(msg){
            console.log('message: '+msg)
        }
    })
}

但是当gotFileWriter()执行该函数时,控制台会记录:write success但是我的 ajax 返回一个 void 文档。

我使用的是 2.4.0 版本,当我尝试使用文档 2.4.0 时,我有这个日志:

http://pastebin.com/DN8Dyptp

4

1 回答 1

2

代码写入文件系统中的文件,而您发出的 ajax 请求位于 www 文件夹中。由于 www 文件夹中不存在 test.txt 文件,因此您会收到该错误。

请使用文件阅读器从文件中读取。 http://docs.phonegap.com/en/1.8.0/cordova_file_file.md.html#FileReader

fileSystem.root.getFile("test.txt", null, gotFileEntry, fail);

于 2013-02-16T14:31:46.400 回答