【发布时间】:2014-06-12 20:43:24
【问题描述】:
我想将输入文件从内容页面传递到扩展后台脚本,然后在扩展后台脚本中使用 FileReader() 加载它。
所以在网页中我有一个<input type="file"> 并且从 onchange 事件中我将文件从内容脚本传递到后台页面,如下所示:
var myfile = document.getElementById('fileid').files[0];
chrome.runtime.sendMessage({myevent: "start", inputfile: myfile}, function(response) {});
在后台脚本中我有这个:
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
if(message.myevent==="start")
{
var reader = new FileReader();
reader.onload = function(e) {
// file is loaded
}
reader.readAsArrayBuffer(message.inputfile);
}
});
但是 FileReader 没有加载它,我不确定这是否正确,但我需要的只是将输入文件元素传递给后台脚本并使用 FileReader 加载它以使用来自后台脚本的 HTTP POST 发送它。请告诉我出了什么问题或如何正确地做。如果我看到示例代码将有很大帮助,因为我是 chrome 扩展开发的新手,而且经验不足。
【问题讨论】:
标签: javascript jquery html google-chrome google-chrome-extension