Chrome 应用创建并写入文件

Chrome app create and write to file

我正在尝试将 chrome.apps 用于需要写入多个单独的数据日志文件的程序。然后,用户需要能够在其文件系统中的应用程序之外访问这些日志文件,以进行 post 处理。

这将需要执行多次,因此生成文件所需的用户交互最少甚至不需要。虽然这在任何本机程序代码中都很简单,但我发现使用 chrome 应用程序很难做到这一点。 例如。我可以使用 chrome 应用程序创建 "log_file.txt" 和 "log_file2.txt" 而无需用户交互吗? 有什么方法可以让用户 just 指定一个目录,然后从我的应用程序中,我可以在该目录中创建多个文件而无需用户交互? 我尝试在代码中执行此操作,但我需要 chrome.filesystem 的 "entry" 句柄。 "getEntry" 方法需要一个 "entry",因此似乎不可能创建新的 "entry" 以便我可以写入新文件。 任何想法,将不胜感激!

Is there any way I can have the user just specify a directory then from my app, I would be able to create multiple files within that directory without user interaction?

是的。您需要使用

请求一个目录
chrome.fileSystem.chooseEntry({type: "openDirectory"}, /*...*/);

只要你有权限

{"fileSystem": ["write", "retainEntries", "directory"]} 

您将能够在该目录中创建文件,并且 "retain"(保存)目录条目供以后重复使用,而无需再次询问用户。拥有 DirectoryEntry 后创建文件应该类似于 this.

但最少的交互(最初要求文件夹)是必需的。