关于富文本编辑器ckeditor在前后端分离项目中的使用

一.引入ckeditor,并初始化,这一点不用多说

二.图片上传:

图片上传需要自己配置后台请求路径;本文后台请求是自己写的,没有使用插件,而且前端页面与后台图片上传地址域名不一致.导致最原始的DEMO永远无法解决上传图片之后回显的跨域问题.

最后设置:

config.filebrowserUploadUrl="http://192.168.30.242:2225/ckeditor/uploadImg?backUrl=http://127.0.0.1:8020/party-construction-page/dangjian2/getFile.html";
使用backUrl参数回调,并在页面同级域名下添加getFile.HTML页面;

下面是后台代码

@RequestMapping(value = "/uploadImg")
    public void upload(HttpServletRequest request, HttpServletResponse response,
            @RequestParam("upload") MultipartFile multipartFile)
            throws IOException
    {
        response.setContentType("text/html; charset=UTF-8");
        response.setHeader("Cache-Control", "no-cache");
        logger.info("imag uploading");
        String path = this.uploadDir + "/";
        String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf(".")).toLowerCase();
        String fileName = "image" + "/"
                + DateTools.dateToString(new Date(),
                        DateFormatString.yyyy_MM_dd)
                + "/" + System.currentTimeMillis()
                + suffix;
        File targetFile = new File(path, fileName);
        if (!targetFile.getParentFile().exists())
        {
            targetFile.getParentFile().mkdirs();
        }
        try
        {
            multipartFile.transferTo(targetFile);
        } catch (Exception e)
        {
            logger.error(e);
        }
        String callback = request.getParameter("CKEditorFuncNum");
        String backUrl = request.getParameter("backUrl");
        String message = "";
        response.sendRedirect(backUrl+"?ImageUrl="+ this.imageRootUrl + fileName + "&Message=" + message + "&CKEditorFuncNum=" + callback); 
    }
getFile.HTML内容

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script>
			function GetQueryString(name) {  
			    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");  
			    var r = window.location.search.substr(1).match(reg);  //获取url中"?"符后的字符串并正则匹配
			    var context = "";  
			    if (r != null)  
			         context = r[2];  
			    reg = null;  
			    r = null;  
			    return context == null || context == "" || context == "undefined" ? "" : context;  
			}
			window.parent.CKEDITOR.tools.callFunction(GetQueryString("CKEditorFuncNum"),GetQueryString("ImageUrl"),GetQueryString("Message"));
		</script>
	</body>
</html>



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值