如何从chrome扩展程序访问沙箱外的文件和目录结构?

时间:2014-06-29 15:02:11

标签: google-chrome-extension google-chrome-devtools

我知道文件系统api暴露给本机客户端,但它似乎不允许在沙箱外访问。有一个api,可以通过提示窗口访问沙箱外面。

如果我理解正确,则无法访问目录。我最近遇到了chrome dev,它允许您在任何目录中创建工作区,并允许在目录级别进行剪切,复制和粘贴操作。我想知道他们如何获得沙盒外的文件和目录的访问权。

我所指的扩展名是: https://github.com/dart-lang/chromedeveditor

1 个答案:

答案 0 :(得分:6)

Chrome Dev Editor不是Chrome扩展程序,而是Chrome应用程序。 Chrome应用可以使用chrome.fileSystem API读取和写入用户选择的目录和文件。

扩展程序只能使用非扩展程序特定的FileSystem API访问沙盒文件系统。允许扩展在虚拟文件系统外部写入的唯一API是chrome.downloads.download,它允许扩展将文件保存到用户选择的目录中。执行此操作后,扩展程序可以删除,但不能修改(已下载)文件。

(如果您的扩展程序请求file://*/*<all_urls>权限,则用户会在“扩展程序”中勾选“允许访问文件URL&#34;”复选框页面,然后您的扩展程序将具有对用户文件系统的只读访问权限;如果您想要使用此方法,请阅读https://stackoverflow.com/a/19493206