在Chrome中下载后访问文件数据...?

问题描述 投票:3回答:2

我正在编写一个扩展程序,理想情况下可以在下载文件后读取文件(通过正常的下载过程)。那可能吗?我可以通过chrome.downloads操作获取文件名,但我找不到读取实际字节的方法。我不需要写或移动它们,只需阅读。

javascript google-chrome google-chrome-extension html5-filesystem
2个回答
4
投票

我遇到了完全相同的问题,最后找到了一个简单的解决方法,从Chrome扩展程序中读取下载文件的内容。

您只需要在清单文件中添加file://*的权限,并且在系统中有文件路径后(在chrome.downloads.search属性中使用filename),对网址file://{filepath}进行GET XMLHttpRequest。


0
投票

不,Downloads API不提供访问文件内容的方法。

最接近拦截的是WebRequest API,但目前doesn't allow response access也是。

您可以做的最多是使用webRequest捕获请求,取消它并自己尝试XHR,将结果存储在一些临时位置,如上面提到的FileSystem API。这将是一个糟糕的用户体验(原始请求无法解释)并且可能无法在所有情况下工作(因为XHR无法将所有标头设置为完全复制请求)。

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