下载ckfinder包
ckfinder/ckfinder.js 进行了访问配置
如下:
g.Config.LinkUploadURL = r + 'core/connector/'
+ CKFinder.config.connectorLanguage + '/connector.'
+ CKFinder.config.connectorLanguage
+ '?command=QuickUpload&type=Files';
g.Config.ImageUploadURL = r + 'core/connector/'
+ CKFinder.config.connectorLanguage + '/connector.'
+ CKFinder.config.connectorLanguage
+ '?command=QuickUpload&type=' + (i || 'Images');
g.Config.FlashUploadURL = r + 'core/connector/'
+ CKFinder.config.connectorLanguage + '/connector.'
+ CKFinder.config.connectorLanguage
+ '?command=QuickUpload&type=' + (j || 'Flash');
......
g.Config.LinkUploadURL = r + 'core/connector/'
+ CKFinder.config.connectorLanguage + '/connector.'
+ CKFinder.config.connectorLanguage
+ '?command=QuickUpload&type=Files';
g.Config.ImageUploadURL = r + 'core/connector/'
+ CKFinder.config.connectorLanguage + '/connector.'
+ CKFinder.config.connectorLanguage
+ '?command=QuickUpload&type=' + (i || 'Images');
g.Config.FlashUploadURL = r + 'core/connector/'
+ CKFinder.config.connectorLanguage + '/connector.'
+ CKFinder.config.connectorLanguage
+ '?command=QuickUpload&type=' + (j || 'Flash');
配置ckfinder
web.xml 中配置如下
<!-- CKFinder -->
<servlet><servlet-name>CKFinderConnectorServlet</servlet-name>
<servlet-class>qnit.modules.ckfinder.CKFinderConnectorServlet</servlet-class>
<init-param>
<param-name>XMLConfig</param-name>
<param-value>/WEB-INF/ckfinder.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>configuration</param-name>
<param-value>qnit.modules.ckfinder.CKFinderConfig</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CKFinderConnectorServlet</servlet-name>
<url-pattern>/static/ckfinder/core/connector/java/connector.java</url-pattern>
</servlet-mapping>
添加配置文件:
/WEB-INF/ckfinder.xml
添加配置实现类
qnit.modules.ckfinder.CKFinderConfig
ckfinder首先会获取ckfinder.xml中的配置,通过CKFinderConfig 类,可以动态定义其中的配置
ckfinder上传
当访问ckfinderconnector 这个路径时,CKFinderConnectorServlet 处理上传请求.
上传流程:
1.获取配置,如果没有配置则报Configuration wasn't initialized correctly. Check server logs 异常
2.判断配置是否正确,<enabled>true</enabled> 如果为false则不会进行上传
3.判断用户鉴权,可以CKFinderConfig 的checkAuthentication方法 自定义用户的鉴权,我只判断了用户是否登陆
4.判断访问权限 <accessControls> <accessControl> 中配置的访问权限 如果都设置为真则就可以访问
5. 对文件名是否合法,存放的目录是否是隐藏等进行校验,对文件类型进行合法性校验
ckeditor 与ckfinder结合使用
ckeditor 中配置图片上传图片查询视频上传等的路径为ckfinder的路径如 config.fileuploadurl 等,当ckditor 上传图片时会自动提交到该路径
参考 http://docs.ckeditor.com/ ckeditor的使用手册
ckfinder 中主要实现文件的查看上传等功能。ckfinder在文件里设置文件上传的路径
参考 https://docs.cksource.com/ckfinder3/ ckfinder的文档
ckfinder 下载地址 https://cksource.com/ckfinder/download