0

我想让用户选择一个文件,然后选择扩展名来读取并上传。但我不知道如何在扩展的后台脚本中做到这一点。我需要在后台脚本中处理文件,因为我使用扩展API。我知道如何在内容脚本中做到这一点,我只是用按钮创建一个输入元素,然后我可以轻松地检查onchange事件的输入。但我不知道如何让用户选择一个文件并在后台脚本中读取它,请帮我解决这个问题。在Chrome扩展的后台打开一个文件

+1

尽管不是重复的,但通过阅读[这个答案](http://stackoverflow.com/a/21138567/934239),这应该对你有所帮助。 – Xan

回答

0

这实际上取决于您希望用户如何选择该文件。

通过内容脚本来填充元素很尴尬,因为您需要更改某些任意页面的UI。另一种方法是将其放入扩展弹出窗口,选项页面等(任何带有chrome-extension://方案的东西)。

内容脚本主要限制您通过chrome.runtime.sendMessage发送内容。

扩展页面为您提供了更多的灵活性,因为它至少可以与背景页面共享JS对象,因此您可以将实际的文件传回。也就是说,文件被绑定到文档的生命周期,所以当弹出消失或选项页面关闭时,仍然会丢失该对象。但至少您可以高效地阅读其内容,并在后台页面中执行所需的任何处理。

相关问题