我们能否检测 Chrome 扩展程序中的文件何时开始下载,以及我们能否访问本地下载的文件?

问题描述 投票:0回答:1

我将开发一个 Chrome 扩展程序,当文件开始从 Chrome 浏览器下载并出于某些目的读取文件时检测状态。

  • 每当在 Chrome 浏览器上下载文件时,是否可以在 Chrome 扩展程序中检测到它?
  • 我们可以访问本地存储中下载的文件并在 Chrome 扩展程序中读取它吗?
  • 我们可以将文件从桌面拖放到 Chrome 扩展程序的托盘图标上吗?
javascript google-chrome google-chrome-extension
1个回答
2
投票
  1. 存储下载ID。
let downloadIds = [];

chrome.downloads.onCreated.addListener(function (downloadItem) { 
    console.log("filename with absolute local path " , downloadItem.filename); // prints ""
    // Just FYI, you won't get downloadItem.filename here. So store the downloadId
    downloadIds.push(downloadItem.id);
});
  1. 使用以下 api 获取文件名。使用上面步骤获取的downloadId
chrome.downloads.search({id: downloadIds[0]}, function (downloadItem) {
        console.log("filename with absolute local path " , downloadItem.filename); 
        // prints "C:/user/downloads/yourfile"
    });

现在在您的

<input type="file" >
中使用
popup.html
并访问与步骤中获取的文件名匹配的文件

© www.soinside.com 2019 - 2024. All rights reserved.