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は無効なドキュメントを返します。

2.4.0バージョンを使用していますが、ドキュメント2.4.0を試していると、次のログが表示されます。

http://pastebin.com/DN8Dyptp

4

1 に答える 1

2

コードはファイル システムのファイルに書き込みますが、作成している ajax リクエストは www フォルダーにあります。test.txt ファイルが www フォルダーに存在しないため、そのエラーが発生しています。

ファイルから読み取るには、ファイルリーダーを使用してください。 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 に答える