google-chrome-extension - Chrome 的 native 消息发送/接收二进制数据

标签 google-chrome-extension chrome-native-messaging

我正在开发一个通过 Chrome 消息协议(protocol)与外部可执行文件通信的 Chrome 扩展。外部应用程序要么接受媒体文件的绝对路径,要么从 stdout 获取其二进制内容。 .

由于只有扩展方可以访问实际文件(通过拖放操作)并且无法将绝对路径发送到外部应用程序,我想我会通过 FileReader 读取二进制输入文件并将二进制文件发送到可执行文件。尽管似乎没有一种向/从外部可执行文件发送和接收二进制字符串(或类型化数组)的好方法。

我希望有一种方法可以发送类型化数组所在位置的指针。

知道如何通过 native 消息传递协议(protocol)从外部可执行文件发送和接收大型二进制字符串。

https://developer.chrome.com/extensions/nativeMessaging

最佳答案

除了使用自己的协议(protocol)来拆分二进制数据并通过 JSON 编码的 base64 将它们从浏览器扩展传输到 native 应用程序之外,没有其他方法,然后将二进制 block 收集在一起。请注意,JSON 字符串的总大小最多可为 4 GB(Chrome、Firefox)或 2 GB(MS Edge,因为它在内部使用 16 位字符),创建消息 block 时需要考虑这一点。

关于google-chrome-extension - Chrome 的 native 消息发送/接收二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41017815/

相关文章:

c++ - 解密字符串末尾需要 NULL 终止符是什么?

javascript - 如何自动将 JavaScript 注入(inject)网页,以便可以从开发人员控制台访问其变量

javascript - 如何在Chrome扩展程序中找到带有JavaScript的YouTube不喜欢按钮?

javascript - 我如何使用js截屏并上传图片?

google-chrome - Chrome 扩展程序 : (DOM)Debugger API does not work anymore

javascript - native 应用程序和 chrome-extension 之间的连接在一段时间后中断

java - Chrome 应用程序 : Launch a external application (shell script or jar) using native messaging hosts

c++ - Native Messaging 主机无法发送 1 MB 数据

c++ - 无法使用 native 消息接收 10 字节的消息

javascript - 谷歌打包应用原生消息