我正在开发一个 Chrome 扩展作为内部工具,它需要的行为是:
- 作为页面操作,在查看某些内部网页时启用地址栏图标。
- 当用户单击图标时,在页面上标识特定媒体类型(比如. jpg)的所有文件,并且
- 以静默方式将它们全部保存到用户本地驱动器上的一个目录中。
这个问题之前已经被问过了,但是当时的答案是“ 使用 NPAPI”和“ NPAPI 现在被废弃了”。
那么,目前可行的方法是什么呢? 我看到的是:
- Chrome 文件系统 API ——-但是这不会将文件保存在任何用户可访问的位置。相反,存储的文件是 隐藏在模糊的名字后面,位于一个未记录的目录中。用户要求将这些文件以其原始名称存储在一个可访问的目录中。
- HTML5下载属性 ,通过创建一个 data: URL 并以编程方式单击它。这会为每个文件弹出一个“另存为...”对话框,当一个页面上有100个资产时,这是不可接受的。用户要求下载的文件没有进一步的交互超过单击图标。
- Chrome 下载 API,但是它只能在 beta 和 dev 通道中使用。用户需要这个扩展工作与主流 Chrome。
- 使用 本机消息 API创建一个小的。将文件保存到磁盘,然后将。作为它的一个斑点。这似乎非常麻烦,我甚至不知道如何可靠地传递大的 blobs 到 EXE 这样的。
还有别的办法吗?