Plugins 如何在javascript和NPAPI插件之间传输字节数组

Plugins 如何在javascript和NPAPI插件之间传输字节数组,plugins,npapi,Plugins,Npapi,我有一个NPRuntime插件,我需要在javascript和我的插件之间传输原始数据(字节数组)。据我所知,不能使用NPVariant对象发送字节数组。这就是为什么我搜索solutinon,并找到以下传输数据: 在base64编码中使用字符串 在字符串()中逐字节打印,如[92,32,43…] NPStream作为临时文件 我的问题是如何从javascript调用NPP_Write for NPStream。 在“C”中,我有NPP_Write(写入我的插件),NPN_Write(写入浏览器)

我有一个NPRuntime插件,我需要在javascript和我的插件之间传输原始数据(
字节数组)。据我所知,不能使用
NPVariant
对象发送字节数组。这就是为什么我搜索solutinon,并找到以下传输数据:

  • 在base64编码中使用字符串
  • 在字符串()中逐字节打印,如
    [92,32,43…]
  • NPStream作为临时文件 我的问题是如何从javascript调用NPP_Write for NPStream。 在“C”中,我有NPP_Write(写入我的插件),NPN_Write(写入浏览器),我可以用它来传输数据。
    .

    您不能使用NPStream从Javascript向插件发送数据。我所知道的最接近的是,可以在对象或嵌入标记上设置一个属性,并让它在插件上打开一个流来自动下载该文件(尽管我从未这样做过,所以我无法提供详细信息)


    可悲的事实是,NPAPI没有可靠的方法来做你想做的事情。选项1和2是你唯一的选择,两者都不是很好。我想你可以做的另一件事是创建一个web服务器在插件内部运行,然后使用jsonp从javascript与之对话。在HTTPService库中有一个内置但未记录的Web服务器,它曾经用于类似的事情。

    您不能使用NPStream从Javascript向插件发送数据。我所知道的最接近的是,可以在对象或嵌入标记上设置一个属性,并让它在插件上打开一个流来自动下载该文件(尽管我从未这样做过,所以我无法提供详细信息)

    可悲的事实是,NPAPI没有可靠的方法来做你想做的事情。选项1和2是你唯一的选择,两者都不是很好。我想你可以做的另一件事是创建一个web服务器在插件内部运行,然后使用jsonp从javascript与之对话。在HTTPService库中有一个内置但未记录的Web服务器,它曾经用于类似的事情