相关疑难解决方法(0)

Chrome扩展程序如何将许多文件保存到用户指定的目录中?

我正在使用Chrome扩展程序作为内部工具.它的必要行为是:

  1. 作为页面操作,在查看某些Intranet页面时启用地址栏图标.
  2. 当用户点击该图标时,识别页面上某种媒体类型(例如,.jpg)的所有文件,以及
  3. 将它们全部保存到用户本地驱动器上的目录中.

之前已经问过这个问题,但答案是" 使用NPAPI ",而NPAPI现在已经废弃了.

那么,目前实现这一目标的方法是什么?我看过的是:

  • chrome.FileSystem API ---但是这并不在任何用户访问的位置保存文件.相反,存储的文件隐藏在未记录的目录中的混淆名称后面.用户要求将文件以其原始名称存储在可访问的目录中.
  • HTML5下载属性,通过创建数据:URL并以编程方式单击它.这会为每个文件弹出一个"另存为..."对话框,当单个页面上有一百个资产时,这是不可接受的.用户要求在单个图标点击之外下载文件而无需进一步交互.
  • 浏览器下载API,但那只是在测试和开发渠道提供.用户需要此扩展程序与主流Chrome一起使用.
  • 通过创建一个只将文件保存到磁盘的小型.exe,然后将.jpg作为blob传递给它,使用Native Messaging API.这看起来非常麻烦,我甚至不确定如何可靠地将大blob传递给这样的EXE.

我可以尝试另一种方法吗?

javascript google-chrome google-chrome-extension

68
推荐指数
2
解决办法
3万
查看次数

通过Google Chrome扩展程序访问本地文件?

我需要从本地文件中将名称列表加载到我的谷歌浏览器扩展程序中,如何做到这一点?如果文件附带扩展本身怎么办?

google-chrome local-storage google-chrome-extension

7
推荐指数
2
解决办法
3482
查看次数

chrome 扩展 - 有没有办法永久保存文件?

我正在开发一个 chrome 扩展程序,我想将一些数据永久存储在用户系统的文件中,以便我可以在用户每次运行扩展程序时检索该数据。

有没有办法可以使用 chrome javascript API 来完成此任务?

提前致谢。

javascript google-chrome google-chrome-extension

6
推荐指数
2
解决办法
4807
查看次数

在Chrome扩展程序中写入本地文件系统

chrome.tabs.onUpdated.addListener(checkForValidUrl);
function checkForValidUrl(tabId, changeInfo, tab) {
    if (tab.url.indexOf('https') > -1) {
        var tabURL = tab.url;
        console.log("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n");
        window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024, initFs);

        function initFs(fs) {
            fs.root.getFile
            ('log.txt', { create: true, exclusive: true }, function (fileEntry) {
                fileEntry.isFile = true;
                fileEntry.name = 'log.txt';
                fileEntry.fullPath = '/log.txt';
                fileEntry.createWriter(function (fileWriter) {
                    fileWriter.seek(fileWriter.length);
                    var bb = new BlobBuilder();
                    bb.append("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n");
                    fileWriter.write(bb.getBlob('text/plain'));
                });
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome google-chrome-extension

5
推荐指数
2
解决办法
4万
查看次数