Kindeditor 上传图片 跨域错误 解决

Posted zlay0701

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kindeditor 上传图片 跨域错误 解决相关的知识,希望对你有一定的参考价值。

采坑了

主要是在文件保存之后如何给前端响应 本来以为 响应json 到前端发现不是 

其实是响应个页面到前端

官方文档说明的响应格式

技术图片

 

正确响应代码

private static void writeResult(HttpServletResponse res, boolean success, String data) throws IOException {
		res.setContentType("text/html;charset=utf-8");
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("error", success ? 0 : 1);
		if(success) {
			map.put("url", data == null ? "" : data);
		}else {
			map.put("message", data == null ? "" : data);
		}
		PrintWriter out = res.getWriter();
		String json = JacksonJsonMapper.getInstance().writeValueAsString(map);
		out.println("<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">");
		out.println("<HTML>");
		out.println("<HEAD><TITLE>Kindeditor</TITLE>");
		out.println("<script type=‘text/javascript‘ src=‘/public/js/domain.js‘></script>");
		out.println("</HEAD>");
		out.println("<BODY>");
		out.println("<pre>");
		out.print(json);
		out.println("</pre>");
		out.println("</BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

  为了解决跨域问题 主要是引入domain.js  domain.js内容如下

try{
(function(){
    var hostname = window.location.hostname;
    if(!(/^d+.d+.d+.d+$/.test(hostname))){
        var harr = hostname.split(".");
        var hl = harr.length;
        if(hl>1){
            try{
                document.domain=harr[hl-2]+"."+harr[hl-1];
            }catch(e){
                document.domain=harr[hl-3]+"."+harr[hl-2]+"."+harr[hl-1];
            }
        }
    }
}());
}catch(e){}

 

 即可解决

以上是关于Kindeditor 上传图片 跨域错误 解决的主要内容,如果未能解决你的问题,请参考以下文章

几个问题

kindeditor 加入七牛云上传

kindeditor扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器

解决emblog在升级kindeditor编辑器时,遇到点击图片上传的空白的bug

Kindeditor编辑器问题:图片上传后返回路径不对?(ASP版)

asp.net在线网页编辑器kindeditor怎么上传图片