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

时间:2012-09-14 06:22:25

标签: plugins npapi

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

  1. 在base64编码中使用字符串;
  2. 按字符串(http://code.google.com/p/npapi-file-io/)逐字节打印,如[92, 32, 43...];
  3. NPStream作为临时文件。
  4. 我的问题是如何从javascript为NPStream调用NPP_Write。 在“C”中我有NPP_Write(写入我的插件),NPN_Write(写入浏览器),我可以用它来传输数据。 http://www.podgoretsky.com/ftp/docs/internet/Netscape%20Plug-Ins/ch8.htm

1 个答案:

答案 0 :(得分:1)

您不能使用NPStream从Javascript向插件发送数据。我最了解的是,你可以在你的对象或embed标签上设置一个属性,让它在插件上打开一个流来自动下载该文件(虽然我从来没有这样做过所以我不能给你详情)。

可悲的是,NPAPI没有可靠的方法来做你想做的事。选项1和2是您拥有的唯一选项,也不是很棒。我想你可以做的另一件事就是创建一个在插件中运行的Web服务器,然后使用jsonp从javascript中与之交谈。 FireBreath在HTTPService库中有一个内置但未记录的Web服务器,一次用于此类事务。