我正在开发一个Chrome扩展程序以用作内部工具。它要求的行为是:
- 作为页面操作,请在查看某些Intranet页面时启用地址栏图标。
- 当用户单击该图标时,在页面上标识某种特定媒体类型(例如.jpg)的所有文件,以及
- 将它们全部静默保存到用户本地驱动器上的目录中。
之前曾有人问过这个问题,但是答案是“使用NPAPI ”,现在NPAPI被遗弃了。
那么,目前可用的方法是什么?我看过的是:
- 该chrome.FileSystem API ---但这不保存任何用户访问的位置的文件。而是将存储的文件隐藏在未记录目录中的混淆名称后面。用户要求将文件以其原始名称存储在可访问的目录中。
- HTML5下载属性,方法是创建数据:URL并以编程方式单击它。这会为每个文件弹出一个“另存为...”对话框,当单个页面上有一百个资产时,这是不可接受的。用户要求下载文件时,除了单击单个图标外,不能进行进一步的交互。
- 该浏览器下载API,但那只是在测试和开发渠道提供。用户需要与主流Chrome一起使用此扩展程序。
- 使用Native Messaging API,方法是创建一个小的.exe,将文件保存到磁盘,然后将.jpg作为blob传递给它。这似乎很麻烦,我什至不确定如何可靠地将大型Blob传递给EXE。
我可以尝试另一种方法吗?