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扩展粘贴图片功能&修改图片上传路径并通过webapi上传图片到图片服务器
解决emblog在升级kindeditor编辑器时,遇到点击图片上传的空白的bug