在 chrome 扩展中上传文件

Ash*_*reh 3 google-chrome-extension

我需要在我的 Chrome 扩展程序中添加一个浏览按钮。用户单击它并选择一个文件。然后我想检索文件内容(字节)并对其进行一些工作。

我不想将文件提交到远程服务器然后获得响应(如果这甚至可以从 Chrome 扩展程序内部执行),它应该全部在客户端。

这在 Chrome 扩展程序中可行吗?

Xan*_*Xan 6

您应该查看FileReaderAPI

FileReader对象允许 Web 应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用FileBlob对象指定要读取的文件或数据。

使用此接口的一个非常好的基本示例是在这个问题中

一个最小的例子:假设您选择了<input type="file" id="file">一个文本文件。

var file = document.getElementById("file").files[0];
var reader = new FileReader();
reader.onload = function(e){
  console.log(e.target.result);
}
reader.readAsText(file);
Run Code Online (Sandbox Code Playgroud)

如果您需要读取文本(即二进制数据)以外的方法,请参阅文档。

此外,这是一个很好的概述:使用来自 Web 应用程序的文件