如何创建新文件

时间:2012-06-26 12:14:23

标签: javascript android html5 cordova

PhoneGap - 如何在assets/www/example/hallo.text中创建新文件 我的错误是"Error fileSystem"

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function fail() {
  confirm('Error  fileSystem');
}

function gotFS(fileSystem) {
  fileSystem.root.getFile("file:///android_asset/www/example/hallo.text", {
    create: true
  }, gotFileEntry, fail);
}

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

function gotFileWriter(writer) {
  writer.write("hallo");
}

2 个答案:

答案 0 :(得分:2)

HTML文件系统API在沙盒文件系统中运行。您无法引用完整文件系统的绝对路径;相反,您的所有Web应用程序的文件系统都存在于设备真实系统内的浏览器生成的子目录中。

出于安全原因,这是故意完成的,因此Web应用程序只能覆盖或读取他们创建的文件。否则,Web上的任何页面都可能读取整个硬盘驱动器的所有私有内容。

您应该使用不合格的文件路径,例如www/example/hallo.text(假设存在这些目录)或仅使用hallo.text来在沙盒文件系统中创建文件。不要使用绝对的file:路径。

此外,您的错误函数fail可能正在提供带有错误信息的参数。尝试在函数中添加一个参数,如function fail(error) ...,并打印出error以获取更多调试信息。

答案 1 :(得分:0)

首先,确保“您”有权在目标文件夹中写入(您的设备可能需要具有在某些文件夹中写入的root权限)。

之后,请按照此处的说明操作:http://www.anddev.org/working_with_files-t115.html