Javascript 使用Chrome update 73.0.3683.75解决方案从Content.js上传文件?

Javascript 使用Chrome update 73.0.3683.75解决方案从Content.js上传文件?,javascript,google-chrome,file-upload,google-chrome-extension,Javascript,Google Chrome,File Upload,Google Chrome Extension,这个问题与我以前的问题有关。我们得到了一个Chrome扩展,它在客户端页面中插入了一个上传按钮 当用户选择jqueryupload时,我们将其注入到上传文件中。现在有了谷歌的最新更新,我们不能再对我们的服务器进行越界呼叫了。我们需要在background.js中执行此操作 但是,我们如何在content.js中插入一个“upload file”并将其执行到“background.js”中呢 为了进一步解释,我们不需要像suggest一样将文件上传到popop.js中。我们需要在页面中设置“上传”

这个问题与我以前的问题有关。我们得到了一个Chrome扩展,它在客户端页面中插入了一个上传按钮

当用户选择jqueryupload时,我们将其注入到上传文件中。现在有了谷歌的最新更新,我们不能再对我们的服务器进行越界呼叫了。我们需要在background.js中执行此操作

但是,我们如何在content.js中插入一个“upload file”并将其执行到“background.js”中呢

为了进一步解释,我们不需要像suggest一样将文件上传到popop.js中。我们需要在页面中设置“上传”文件按钮的上下文


可以使用什么解决方法?

使用FileReader API将文件读取为文本,传输到弹出窗口,弹出窗口将构造新的FormData对象,将新项目添加为Blob并指定其文件名,使用fetch上载表单数据对象。或者,您可以使用MIME编码和XHR手动执行所有操作。希望上面提到的每一件事都有例子。是的,这并不简单。最后,我没有选择在我的内容页面中放置一个按钮,该按钮将打开一个新的“弹出”窗口。打开background.js的raise,然后请求用户单击上载按钮,选择文件,并将其发送到服务器。该实施为我们的客户再添加一次点击。。。但这是我们找到的最好的方法。使用FileReader API将文件读取为文本,传输到弹出窗口,弹出窗口将构造一个新的FormData对象,将一个新项目添加为Blob并指定其文件名,使用fetch上传表单数据对象。或者,您可以使用MIME编码和XHR手动执行所有操作。希望上面提到的每一件事都有例子。是的,这并不简单。最后,我没有选择在我的内容页面中放置一个按钮,该按钮将打开一个新的“弹出”窗口。打开background.js的raise,然后请求用户单击上载按钮,选择文件,并将其发送到服务器。该实施为我们的客户再添加一次点击。。。但这是我们找到的最好的方法。