列出带有 chrome 扩展名的本地目录

Posted

技术标签:

【中文标题】列出带有 chrome 扩展名的本地目录【英文标题】:List a local directory with chrome extension 【发布时间】:2012-02-07 10:55:46 【问题描述】:

我正在尝试创建一个 chrome 扩展程序,用于扫描本地目录以查找新文件... 但是,如果我将 file://* 权限添加到清单中,我可以访问 chrome 的内部文件浏览器

xmlhttp.open("GET","file://C:/Users/username/Desktop/",false); xmlhttp.send(); console.log(xmlhttp.response);

我可以从响应中提取文件 URL 并在我的扩展程序中使用它们。

我现在的问题是:还有其他方法吗?上述方式似乎更像是一种解决方法,如果更改 chrome 的文件浏览器很容易中断......

【问题讨论】:

列出所有目录然后从中读取所有文件并将其发送给您?这是不可能的 【参考方案1】:

每当我不得不通过 Chrome 扩展程序在本地机器上做某事时,我总是创建一个小程序,通过 HTTP 接受连接,并像普通程序一样工作,通过 POST 接收带有 JSON 的命令.这为您提供了极大的灵活性,因为它本质上允许您编写一个 Chrome 扩展程序,该扩展程序可以执行桌面程序可以执行的任何操作。

但是,这样做有很大的缺点,只有在绝对必要时才应该这样做。例如:

您不能对所有操作系统都执行此操作,除非您要为每个操作系统编写代理。 无法从 Google 的扩展托管安装扩展。 你必须write your own installation program that registers the extension。 对此有非常实际的安全考虑需要担心。您将打开一个执行命令的 Web 服务。 非常确保您没有暴露给用户。实际上,如果您正在制作文件浏览器,您可能正在暴露用户。修复此安全漏洞将由您来决定,就像您正在创建任何其他 Web 服务一样。

【讨论】:

以上是关于列出带有 chrome 扩展名的本地目录的主要内容,如果未能解决你的问题,请参考以下文章

Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载

如何同步 chrome 扩展选项

列出具有特定扩展名的目录和文件数量,构建特定菜单

如何保存带有 chrome 扩展名的页面

Chrome扩展开发之四——核心功能的实现思路

Chrome 扩展:本地存储,如何导出