最近有个项目需要IE浏览器下能将页面页面富文本框里的内容利用ActiveX转为doc文件
首先想到的是使用二进制交互,从而想到了blob,但是将blob直接传入ActiveX肯定不行,所以想到了将blob中的内容读取出来(Blob对象只是二进制数据的容器,本身并不能操作二进制),
进而想到了FileReader(FileReader主要用于将文件内容读入内存,通过一系列异步接口,可以在主线程中访问本地文件),想用FileReader中的某些接口,将blob中的二进制读取出来,然后传给ActiveX。
于是就想到了readAsBinaryString(), 它的result 属性将包含所读取文件原始二进制格式,不过经过调研发现,该接口不支持IE浏览器,所以想到了重新写这个函数,
终于感觉大功告成,但是又出现了情况,我的字符串传给插件之后,因为编码方式的原因,它解析较为麻烦,因为我转完的字符串是用Unicode的编码的,到插件之后发现出现很多0,导致它解析是不能解析全。
所以就想着我怎么能把最原始的二进制传给插件,即以int串的形式给插件
最后用jion(‘,’),将数组转为字符串传给插件。