2

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");
}
4

2 回答 2

2

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

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

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

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

于 2012-06-26T12:34:23.193 回答
0

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

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

于 2012-06-26T12:35:40.983 回答