功能富文本编辑器新增文本加图片 用于记录学习过程
前台代码(注意使用formdata的话,需要加上processData:false)
function save(status) {
debugger
$("#status").val(status);
var content_sn = $("#content_sn").summernote('code');
$("#content").val(content_sn);
var title = $("#title").val();//标题
var author = $("#author").val();//作者
var slug = $("#slug").val();//摘要
var categories = $("#categories").val();//类型
var formdata = new FormData();
formdata.append("imgUrl",filed);
formdata.append('content', content_sn);
formdata.append('title',title);
formdata.append('author',author);
formdata.append('slug',slug);
formdata.append('categories',categories);
$.ajax({
cache : true,
type : "POST",
url : "/blog/bContent/save",
data: formdata,
async : false,
processData:false,//预处理图片 如果用form提交,还有图片的话则需要加上
contentType: false,
error : function(request) {
parent.layer.alert("Connection error");
},
success : function(r) {
debugger
if (r.code == 0) {
parent.layer.msg(r.msg);
parent.reLoad();
$("#cid").val(r.cid);
} else {
parent.layer.alert(r.msg)
}
}
});
}
后台接受
处理富文本编辑器中添加的图片,想单独处理可以
String result = repairContent(content, replaceHttp, size); //调用
public static String repairContent(String content,String replaceHttp,int size){
String patternStr="<img\\s*([^>]*)\\s*src=\\\"(.*?)\\\"\\s*([^>]*)>";
Pattern pattern = Pattern.compile(patternStr,Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(content);
String result = content;
while(matcher.find()) {
String src = matcher.group(2);
System.out.println("pattern string:"+src);
String replaceSrc = "";
if(src.lastIndexOf(".")>0){
/*replaceSrc = src.substring(0,src.lastIndexOf("."))+"_"+size+src.substring(src.lastIndexOf("."));*/
replaceSrc = src.substring(0,src.lastIndexOf("."))+src.substring(src.lastIndexOf("."));
}
if(!src.startsWith("http://")&&!src.startsWith("https://")){
replaceSrc = replaceHttp + replaceSrc;
}
try {
result = result.replaceAll(src,replaceSrc);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
result = "error";
}
}
System.out.println((" content == " +content));
System.out.println((" result == " + result));
return result;
}