我正在开发一个通过 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/