在Chrome中下载后访问文件数据..
Accessing file data after download in Chrome...?
我正在编写一个扩展,理想情况下可以在下载文件后读取文件(通过正常的下载过程)。这可能吗?我可以通过chrome.downloads操作获取文件名,但我找不到读取实际字节的方法。我不需要写或移动它们,只需阅读即可。
我遇到了完全相同的问题,终于找到了一个简单的解决方法来读取从Chrome扩展程序下载的文件的内容。
您只需要在清单文件中添加file://*
权限,一旦您在系统中拥有文件的路径(filename
属性中有chrome.downloads.search
),就可以向 url file://{filepath}
发出 GET XMLHttpRequest 。
否,下载 API 不提供访问文件内容的方法。
最接近拦截的是WebRequest API,但目前也不允许响应访问。
您最多能做的就是用webRequest
捕获请求,取消它并尝试自己进行 XHR,将结果存储在某个临时位置,例如提到的文件系统 API。不过,这将是一个糟糕的用户体验(原始请求莫名其妙地失败),并且可能无法在所有情况下都有效(因为 XHR 无法将所有标头设置为完全复制请求)。
WhiteFangs的解决方案对我有用。但是,我应该补充一点,即使用文件协议的 XMLHttpRequest 仅在我从后台脚本启动它时才对我有用。当我从内容脚本或浏览器操作的 javascript 环境中尝试它时,我遇到了错误。
相关文章:
- 如何使用javascript在不更改页面的情况下访问文件上传所选文件
- 当访问文件时,我可以自动调用例程或函数吗
- 从firefox插件访问文件系统/目录路径
- 输入类型文件-如何访问文件属性
- 通过驱动器API访问文件夹中的文件
- 连接到客户端's PC使用php或JS访问文件
- 如何使用 javascript 循环访问文件系统目录和文件
- 在Chrome中下载后访问文件数据..
- 如何在 JavaScript 中逐字节循环访问文件
- 在本地访问文件
- 使用Phonegap访问文件
- 在QWebview中使用javascript访问文件系统
- Public Dropbox 中的 XMLHttpRequest 访问文件
- 如何将多个文件添加到数组中并在 AngularJs 中逐个访问文件
- 要在Parse.com中使用plupload,如何访问文件控制对象或base64字符串
- 拒绝WinRT访问文件
- 使用浏览器访问文件系统文件
- Java-使用“;查找“;用于显示访问文件中的特定记录或从中删除特定记录的命令
- 在用户提交结果时,将日期和时间保存到访问文件中
- 可以't访问文件外的coffeescript函数