目录
一、将富文本存入取出数据库
String html = "<p wx:nodeid='135'>地方</p><p wx:nodeid='156'>补一下"; // 前端传过来的富文本内容
//将富文本中的特殊编码转换 存入数据库
String temp = HtmlUtils.htmlEscapeHex(html);
//从数据库中取出数据库 进行转换返回给前端
String returnHtml = HtmlUtils.htmlUnescape(temp);
二、将富文本转word下载
//word导出
@RequestMapping(value = "/exportWord")
public void exprotWord(@RequestParam String id, HttpServletRequest request,
HttpServletResponse response) {
// 数据库查富文本数据
String content = this.richTextService.getById(id).getContent();
String richText = "<html><body>" + content + "</body></html>";
try {
//设置编码
byte b[] = richText.getBytes("GBK");
ByteArrayInputStream bais = new ByteArrayInputStream(b);
POIFSFileSystem poifs = new POIFSFileSystem();
// ##############下面这两个不能删掉
DirectoryEntry directory = poifs.getRoot();
DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
//################这两个不能删掉
//输出文件
String name = "测试";
response.reset();
response.setHeader("Content-Disposition",
"attachment;filename=" +
new String(name.getBytes("GB2312"), "iso-8859-1") + ".doc");
response.setContentType("application/msword");
OutputStream ostream = response.getOutputStream();
//输出到本地文件的话,new一个文件流
// FileOutputStream ostream = new FileOutputStream("E:\\桌面\\测试.doc");
poifs.writeFilesystem(ostream);
bais.close();
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}
}