我正在编写一个扩展程序,理想情况下可以在下载文件后读取文件(通过正常的下载过程)。那可能吗?我可以通过chrome.downloads操作获取文件名,但我找不到读取实际字节的方法。我不需要写或移动它们,只需阅读。
答案 0 :(得分:3)
我遇到了同样的问题,最后找到了一个简单的解决方法,可以从Chrome扩展程序中读取下载文件的内容。
您只需在清单文件中添加file://*
权限,并在系统中拥有文件路径(filename
属性中chrome.downloads.search
) ,对网址file://{filepath}
进行GET XMLHttpRequest。
答案 1 :(得分:0)
不,Downloads API不提供访问文件内容的方法。
最接近拦截的是WebRequest API,但目前doesn't allow response access也是。
您可以做的最多的事情是使用webRequest
捕获请求,取消它并自己尝试XHR,将结果存储在一些临时位置,如上面提到的FileSystem API。这可能是一个糟糕的用户体验(原始请求无法解释)并且可能无法在所有情况下工作(因为XHR无法将所有标头设置为完全复制请求)。
答案 2 :(得分:0)
WhiteFangs的解决方案为我工作。但是,我应该警告一下,使用文件协议的XMLHttpRequest仅在我从后台脚本启动时才对我有用。从内容脚本或浏览器操作的javascript环境中尝试时遇到错误。