首先我是看了半天的富文本编辑器 想在插件上直接改 无奈水平有限实在看不明白
于是我想到在富文本上传的时候把内容里的图片拿出来放到云存储里 再把图片替换成云存储的即可
上代码:解析用的htmlParser
article.getArticleData().setContent(StringEscapeUtils.unescapeHtml4(article.getArticleData().getContent()));
Parser parser = Parser.createParser(article.getArticleData().getContent(), "UTF-8");
NodeFilter filter = new TagNameFilter("img");
NodeList nodes;
try {
nodes = parser.extractAllNodesThatMatch(filter);
Node eachNode = null;
ImageTag imageTag = null;
String oldSrcPath = null;
if (nodes != null) {
// 遍历所有的img节点
for (int i = 0; i < nodes.size(); i++) {
eachNode = (Node) nodes.elementAt(i);
if (eachNode instanceof ImageTag) {
imageTag = (ImageTag) eachNode;
// 获得html文本的原来的src属性
oldSrcPath = imageTag.getAttribute("src");
// System.out.println(oldSrcPath);
if (!oldSrcPath.contains("oss")) {
String oldSrcPathRe = oldSrcPath.replace("hyyj", Global.getUserfilesBaseDir());
// System.out.println("replace" + oldSrcPathRe);
String addSrcPath = OSSUnit
.uploadObject2OSS(new File(FileUtils.path(Encodes.urlDecode(oldSrcPathRe))));
// System.out.println(addSrcPath);
imageTag.setImageURL(addSrcPath);
article.getArticleData().setContent(
article.getArticleData().getContent().replace(oldSrcPath, addSrcPath));
}
}
}
}
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}