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