您已经做了很多研究。确实,常规网页无法在没有任何插件或扩展的情况下写入用户的文件系统。而且,正如您所观察到的,HTML5 Filesystem API仅提供对虚拟文件系统的访问。
但是,您将chrome.fileSystem
API与HTML5FileSystem API 混淆了。与HTML FileSystem API不同,Chrome的fileSystem
(应用程序)API可以用户指定的用户文件系统(例如~/Documents
或%USERPROFILE%\Documents
)。
该API仅适用于Chrome ,不适用于扩展程序。这不是问题,特别是因为您正在开发内部工具时,因为您可以安装应用程序和扩展,并使用消息传递在扩展(页面操作)和应用(文件系统访问)之间进行通信。
关于chrome.downloads
:由于您的扩展程序是内部的,因此您可以强制用户进入beta/dev通道才能使用此API。此API的唯一限制是文件将保存在用户定义的Downloads文件夹(的子目录)中。
编辑:chrome.downloads
现在,所有通道都可以使用该API,包括稳定分支(自Chrome 31起)。