Spring Boot集成CKFinder-优化

2017/04/23

Spring Boot集成CKFinder-优化,对一些配置做一下优化,使配置更加灵活。

优化一:ckfinder.xml

ckfinder.xml文件中,baseDirbaseURL需要配置固定路径。把这2个配置放到application.properties中。这样就灵活多了。

application.properties

#磁盘存储路径
ckeditor.storage.image.path=D:\\data\\file\\image\\
#访问路径
ckeditor.access.image.url=http://localhost:8180

Servlet注册

新建CKFinderServletConfig,代替原来的ImageBrowseServlet。Spring Boot支持Servlet的注入,参考示例

@Configuration
public class CKFinderServletConfig {

    @Value("${ckeditor.storage.image.path}")
    private String baseDir;
    @Value("${ckeditor.access.image.url}")
    private String baseURL;

    @Bean
    public ServletRegistrationBean connectCKFinder(){
        ServletRegistrationBean registrationBean=new ServletRegistrationBean(new ConnectorServlet(),"/ckfinder/core/connector/java/connector.java");
        registrationBean.addInitParameter("XMLConfig","classpath:/static/ckfinder.xml");
        registrationBean.addInitParameter("debug","false");
        registrationBean.addInitParameter("configuration","com.wxs.ckeditor.config.CKFinderConfig");
        //初始化ckfinder.xml 配置
        registrationBean.addInitParameter("baseDir",baseDir);
        registrationBean.addInitParameter("baseURL",baseURL);
        return registrationBean;
    }

}

CKFinderConfig

CKFinderConfig修改对baseDirbaseURL的处理。

这里写图片描述

/public/image/是在WebMvcConfig中配置的访问URL。

FilesController

上传FilesController中也得做一下修改。

这里写图片描述

/images/这一层目录,是在点击浏览服务器时候CKFinder创建的。

优化二:ImageBrowseServlet

ImageBrowseServlet上文已经做了优化,Servlet用注入的方式更灵活,可以很方便的初始化一些参数。参考类CKFinderServletConfig


作者:Wuxinshui
出处:http://wuxinshui.github.io
版权归作者所有,转载请注明出处

Post Directory