标签:
前后端的配置统一写在后端(PHP版本的config在php/config.json),编辑器实例化时,异步读取后端配置信息,覆盖到前端的配置里。
后端获取的配置项 > 实例化传入的配置项 > ueditor.config.js文件的配置项。
我们需要配置的部分是
1、ueditor.config.js 中入口的位置
// 服务器统一请求接口路径,如果你直接使用jsp demo 那么这里就写demo中的访问位置, //我们这里是做了action的转发,通过action转发到 百度提供的demo jsp中所以这样配置 , serverUrl: rootPath + "/common/baiduUploadEnter"
2、要在config.json中配置一下上传图片的访问前缀,也就是网址http:127.0.0.1/projectName 图片的保存路径默认是相对于web根目录而言的。
百度配置的jsp处理器里面的代码不能直接搬到action中只能在jsp中处理
通过查看源码发现 因为百度提供的demo 加载配置文件的方法不够灵活,如果在action中是加载不到cofig.json文件的路径的。
上传的文件都会被springmvc的文件上传拦截器拦截,包装,这样百度编辑器接收到文件后不能识别文件格式,
因此把spring默认的commonsMultiparResolver
替换成我们自己写的commonsMultiparResolver
配置文件修改
<!-- 支持上传文件 --> <bean id="multipartResolver" class="com.fusionzoom.common.utils.CommonsMultiparResolver"></bean>
自定义commonsMultiparResolver放行百度编辑器的请求action
public class CommonsMultiparResolver extends org.springframework.web.multipart.commons.CommonsMultipartResolver { /** * 用于过滤百度编辑器上传文件时阻止 commonsMultipartResolver 对文件进行包装 */ @Override public boolean isMultipart(javax.servlet.http.HttpServletRequest request) { String uri = request.getRequestURI(); System.out.println(uri); //过滤使用百度EmEditor的URI if (uri.indexOf("common/baiduUploadEnter") > 0) { System.out.println("commonsMultipartResolver 放行"); return false; } System.out.println("commonsMultipartResolver 拦截"); return super.isMultipart(request); } }
标签:
原文地址:http://www.cnblogs.com/jyyjava/p/5008577.html