在国华项目中曾经遇到这样一个问题:

需要将OA系统中完整的发文处理单导入到档案系统中。考虑到OA系统中的处理单并不是独立存在的,而是文档的数据+表单的样式,决定将样式写死在代理中,然后用文档数据填充。

这样难点就在于怎样把其中的手写批示图片文件传输过去,经过分析发现MS的MHT格式恰好能满足这个要求,他将网页相关的所有文件都存在一个文件里,其中图片等二进制文件采用Base64编码存储。
我们使用Ls将手写批示图片剥离到服务器的临时目录,再进行Base64编码,与处理单的HTML保存在一个MHT文件中。至此,问题得到了解决。

此处有一个高性能的实现,处理大文件每秒几MB。