无法使用phonegap写入文件

时间:2011-02-24 22:28:47

标签: iphone file cordova

使用phonegap api上的方法我试图写入文件。这适用于Android,但在iOS设备上,编写器返回错误。每当我调用writeFile()时它返回一个错误,并且传递给writeFail的param为-1。我不明白为什么-1被传递给错误函数,或者为什么它甚至没有开始。有没有其他人在iOS设备上使用过fileWriter,或者你能看到我可能做错了吗?

function writeFile() {
    var paths = navigator.fileMgr.getRootPaths();
    var writer = new FileWriter(paths[0] + "write.txt");
    writer.onwrite = writeSuccess;
    writer.onerror = writeFail;

    writer.write("some sample text");
    // The file is now 'some sample text'
}

function writeSuccess() {
    console.log("Write has succeeded");
}

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

2 个答案:

答案 0 :(得分:2)

我有同样的问题,但我爬过邮件列表,最后找到了解决方案:

var writer = new FileWriter("write.txt");

就是这样。只需前置“文档”路径。文档错误(仍然)。

并且不要忘记不使用“readAsDataURL”,因为它会默默无法工作(在iOS上)。希望我能帮助你。

答案 1 :(得分:2)

如果你想写一个文件,这就是函数(phonegap 2.5)

function fileWrite(filePath, text) {
  var onFSWin = function(fileSystem) {
    fileSystem.root.getFile(filePath, {create: true, exclusive: false}, onGetFileWin, onFSFail);
  }
  var onGetFileWin = function(fileEntry) {
    fileEntry.createWriter(gotFileWriter, onFSFail);
  }
  var gotFileWriter = function(writer) {
    writer.write(text);
  }
  var onFSFail = function(error) {
   console.log(error.code);
  }
  window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFSWin, onFSFail);
 }