我在互联网上看到了很多关于用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
代码写入文件系统中的文件,而您正在进行的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,失败);