web项目导出word之用blob保存的图片

来源:互联网 发布:淘宝卖家发货怎么打包 编辑:程序博客网 时间:2024/06/05 09:45

问题摘要:web项目中有个功能,需要将动态页面保存为word,该页面中含有图片,数据库使用blob格式保存

实现思路:使用ftl保存word模板,后台部分直接将所有数据处理好交给ftl即可。其中blob数据需要转换为base64,word方可正确显示

详细方法:1,准备好需要的word模板,将文字类变量用${}替换,图片部分保留不动,word文档另存为xml格式;

2,使用文本编辑器打开xml文件,这时候会看到xml文档中出现很长串的英文字符码,为图片base64编码,替换为${}保存,并将xml代码保存为ftl文件;

3,java后台代码处理数据,
BLOB image=获取的blob数据;
InputStream inStream = image.getBinaryStream(); 
long nLen = image.length();
if(nLen > 0){
int nSize = (int) nLen;
byte[] data = new byte[nSize];
inStream.read(data);
inStream.close();
BASE64Encoder encoder = new BASE64Encoder(); 
String rohto = encoder.encode(data); 
rohto为base64编码,作为参数传递给ftl展示即可

0 0
原创粉丝点击