ckeditor_3.6.6.2+CKFinder2.0.2配置
一、首先工具的下载,找到相应的版本进行下载
二、配置文件
1、在web.xml中配置如下,增加ckeditor的启动
<servlet>
<servlet-name>ConnectorServlet</servlet-name>
<servlet-class>com.ckfinder.connector.ConnectorServlet</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>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>
/js/ckfinder/core/connector/java/connector.java
</url-pattern>
</servlet-mapping>
<filter>
<filter-name>FileUploadFilter</filter-name>
<filter-class>com.ckfinder.connector.FileUploadFilter</filter-class>
<init-param>
<param-name>sessionCookieName</param-name>
<param-value>JSESSIONID</param-value>
</init-param>
<init-param>
<param-name>sessionParameterName</param-name>
<param-value>jsessionid</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FileUploadFilter</filter-name>
<url-pattern>
/js/ckfinder/core/connector/java/connector.java
</url-pattern>
</filter-mapping>
2、在web.xml文件统计目录下新建ckfinder.xml,保存
<config>
<enabled>true</enabled>
<baseDir></baseDir> //这里不要添加任何目录
<baseURL>/medsite/upload/</baseURL> //这里指定上传的文 件夹,
medsite为项目名称<licenseKey></licenseKey>
<licenseName></licenseName>
<imgWidth>1600</imgWidth>
<imgHeight>1200</imgHeight>
<imgQuality>80</imgQuality>
<uriEncoding>UTF-8</uriEncoding>
<forceASCII>false</forceASCII>
<userRoleSessionVar>CKFinder_UserRole</userRoleSessionVar>
<checkDoubleExtension>true</checkDoubleExtension>
<checkSizeAfterScaling>true</checkSizeAfterScaling>
<secureImageUploads>true</secureImageUploads>
<htmlExtensions>html,htm,xml,js</htmlExtensions>
<hideFolders>
<folder>.svn</folder>
<folder>CVS</folder>
</hideFolders>
<hideFiles>
<file>.*</file>
</hideFiles>
<defaultResourceTypes></defaultResourceTypes>
<types>
<type name="Files">
<url>%BASE_URL%files/</url>
<directory>%BASE_DIR%files</directory>
<maxSize>0</maxSize>
<allowedExtensions>7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip
</allowedExtensions>
<deniedExtensions></deniedExtensions>
</type>
<type name="Images">
<url>%BASE_URL%images/</url>
<directory>%BASE_DIR%images</directory>
<maxSize>0</maxSize>
<allowedExtensions>bmp,gif,jpeg,jpg,png</allowedExtensions>
<deniedExtensions></deniedExtensions>
</type>
<type name="Flash">
<url>%BASE_URL%flash/</url>
<directory>%BASE_DIR%flash</directory>
<maxSize>0</maxSize>
<allowedExtensions>swf,flv</allowedExtensions>
<deniedExtensions></deniedExtensions>
</type>
</types>
<accessControls>
<accessControl>
<role>*</role>
<resourceType>*</resourceType>
<folder>/</folder>
<folderView>true</folderView>
<folderCreate>true</folderCreate>
<folderRename>true</folderRename>
<folderDelete>true</folderDelete>
<fileView>true</fileView>
<fileUpload>true</fileUpload>
<fileRename>true</fileRename>
<fileDelete>true</fileDelete>
</accessControl>
</accessControls>
<thumbs>
<enabled>true</enabled>
<url>%BASE_URL%_thumbs/</url>
<directory>%BASE_DIR%_thumbs</directory>
<directAccess>false</directAccess>
<maxHeight>100</maxHeight>
<maxWidth>100</maxWidth>
<quality>80</quality>
</thumbs>
<plugins>
<plugin>
<name>imageresize</name>
<class>com.ckfinder.connector.plugins.ImageResize</class>
<params>
<param name="smallThumb" value="90x90"></param>
<param name="mediumThumb" value="120x120"></param>
<param name="largeThumb" value="180x180"></param>
</params>
</plugin>
<plugin>
<name>fileeditor</name>
<class>com.ckfinder.connector.plugins.FileEditor</class>
<params></params>
</plugin>
</plugins>
<basePathBuilderImpl>com.ckfinder.connector.configuration.ConfigurationPathBuilder</basePathBuilderImpl>
</config>
3、配置ckeditor,可供ckfinder上传图片和文件
/*
Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
CKEDITOR.editorConfig = function( config )
{
//配置CKFinder
config.filebrowserBrowseUrl ='js/ckfinder/ckfinder.html';
config.filebrowserImageBrowseUrl ='js/ckfinder/ckfinder.html?Type=Images';
config.filebrowserFlashBrowseUrl = 'js/ckfinder/ckfinder.html?Type=Flash';
config.filebrowserUploadUrl = 'js/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files';
config.filebrowserImageUploadUrl = 'js/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images';
config.filebrowserFlashUploadUrl = 'js/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash';
config.filebrowserWindowHeight='50%';//CKFinder浏览窗口高度,默认值70%
config.filebrowserWindowWidth='70%';//CKFinder浏览窗口宽度,默认值80%
};
4、拷贝此目录下的文件,复制到src下
5、lib包给大家展示一下
6、效果展示
7、修改上传文件的文件名称
private boolean validateUploadItem(final FileItem item, final String path) {
if (item.getName() != null && item.getName().length() > 0) {
this.fileName = getFileItemName(item);
} else {
this.errorCode = Constants.Errors.CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID;
return false;
}
//this.newFileName = this.fileName;
String sExtentsion = FileUtils.getFileExtension(this.fileName);
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
this.newFileName = format.format(new Date()) + "." + sExtentsion;
String unsafeFileName = this.newFileName;
for (char c : UNSAFE_FILE_NAME_CHARS) {
this.newFileName = unsafeFileName.replace(c, '_');
}
if (configuration.forceASCII()) {
this.newFileName = FileUtils.convertToASCII(this.newFileName);
}
if (!unsafeFileName.equals(this.newFileName)) {
this.errorCode =
Constants.Errors.CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID_NAME_RENAMED;
}
if (FileUtils.checkIfDirIsHidden(this.currentFolder, configuration)) {
this.errorCode = Constants.Errors.CKFINDER_CONNECTOR_ERROR_INVALID_REQUEST;
return false;
}
if (!FileUtils.checkFileName(this.newFileName)
|| FileUtils.checkIfFileIsHidden(this.newFileName,
configuration)) {
this.errorCode = Constants.Errors.CKFINDER_CONNECTOR_ERROR_INVALID_NAME;
return false;
}
int checkFileExt = FileUtils.checkFileExtension(this.newFileName,
configuration
.getTypes().get(type),
configuration,
true);
if (checkFileExt == 1) {
this.errorCode = Constants.Errors.CKFINDER_CONNECTOR_ERROR_INVALID_EXTENSION;
return false;
} else if (checkFileExt == 2) {
this.newFileName = FileUtils.renameFileWithBadExt(this.newFileName);
}
try {
File file = new File(path, getFinalFileName(path,
this.newFileName));
if (!FileUtils.checkFileSize(configuration.getTypes().get(this.type),
item.getSize())
&& !(configuration.checkSizeAfterScaling() && ImageUtils
.isImage(file))) {
this.errorCode =
Constants.Errors.CKFINDER_CONNECTOR_ERROR_UPLOADED_TOO_BIG;
return false;
}
if (configuration.getSecureImageUploads() && ImageUtils.isImage(file)
&& !ImageUtils.checkImageFile(item)) {
this.errorCode =
Constants.Errors.CKFINDER_CONNECTOR_ERROR_UPLOADED_CORRUPT;
return false;
}
if (!FileUtils.checkIfFileIsHtmlFile(file.getName(), configuration)
&& FileUtils.detectHtml(item)) {
this.errorCode =
Constants.Errors.CKFINDER_CONNECTOR_ERROR_UPLOADED_WRONG_HTML_FILE;
return false;
}
} catch (SecurityException e) {
if (configuration.isDebugMode()) {
this.exception = e;
}
this.errorCode = Constants.Errors.CKFINDER_CONNECTOR_ERROR_ACCESS_DENIED;
return false;
} catch (IOException e) {
if (configuration.isDebugMode()) {
this.exception = e;
}
this.errorCode = Constants.Errors.CKFINDER_CONNECTOR_ERROR_ACCESS_DENIED;
return false;
}
return true;
}
ckeditor_3.6.6.2+CKFinder2.0.2配置相关推荐
- creo 3.0计算机配置,Creo 3.0 Parametric 配置选项文件使用说明
最近安装了Creo Parametric 3.0 F000,其配置选项与Creo Parametric 2.0有部分更新,研究PTC Creo® 3.0 Parametric 配置选项configop ...
- Boost1.62.0 + VS2015 配置
Boost1.62.0 + VS2015 配置 标签:
- APACHE 2.2.8+TOMCAT6.0.14配置负载均衡
作者: jiake0504 链接:http://jiake0504.javaeye.com/blog/265000 发表时间: 2008年11月10日 声明:本文系JavaEye网站发布的原创博客 ...
- python详细安装教程3.7.0-python 3.7.0 安装配置方法图文教程
本文记录了python 3.7.0 安装配置方法,供大家参考,具体内容如下 S1登入Python官网下载网址 S2下载后缀为exe的可执行文件,并根据自己电脑/主机的系统选择32位还是64位. 双击选 ...
- windows+VS2017+opencv4.1.0环境配置
网上有很多详细的教程,这里我这罗列一些需要注意的事项: windows+VS2017+opencv4.1.0 环境配置注意事项 1.添加系统环境变量 在添加系统环境变量的时候,至于是选vc14还是vc ...
- WSE3.0构建Web服务安全(3):WSE3.0策略配置、证书、签名、与实例开发
继WSE3.0构建Web服务安全(1):WSE3.0安全机制与实例开发和WSE3.0构建Web服务安全(2):非对称加密.公钥.密钥.证书.签名的区别和联系以及X.509 证书的获得和管理之后,今天我 ...
- Qtopia-2.2.0 的配置和交叉编译
Qtopia-2.2.0的配置和交叉编译 我们提供的qtopia-2.2.0源码包位于linux\ linux-source\ qtopia-2.2.0-Real6410.tar.bz2, 解压这个源 ...
- CentOS 7.0服务器安装配置LAMP服务器
这篇文章主要介绍了CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB),需要的朋友可以参考下 准备篇: CentOS 7.0系统安装配置图解教程 //www.iis ...
- IIS6.0下配置HTTP Gzip压缩 提高iis相应速度
转载之 西部e网 一. HTTP压缩概述 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法.HTTP压缩采用通用的压缩算法如gzip等压缩HTML.JavaScript 或 CSS文件.压 ...
最新文章
- 软件疑难杂症解决办法汇总
- 内存与存储之边界迎来变革
- 简单易懂棒棒哒的视频传输工具!
- 允许服务与桌面交互_vivo 正式推出 Origin OS,融合自然设计与全新交互
- Oracle ERP流程概览
- 最大回撤,最大回撤恢复时间与最大回撤持续期
- word中输入公式时,默认字体是Cambria Math,如何改变公式字体格式
- 常用软件官方下载地址
- kettle中的switch_kettle 教程(三):条件判断 Switch Case
- Ubuntu 下网易云音乐出现“加载失败,网络错误,可以在设置中发送反馈”问题及解决
- 论文笔记——CPN(Corner-Proposal-Network)Det
- 负载均衡集群技术介绍
- 人脸识别扫描(活体检测功能,眨眼、摇头、点头),身份证认证
- 【linux基础】vim快速移动光标至行首行尾、第一行和最后一行
- 尤雨溪: 2022 Web 前端生态趋势
- PostgreSQL11 | pgadmin4基本使用
- 第7章第20节:单图排版:使用巨型字母分隔整张图片 [PowerPoint精美幻灯片实战教程]
- 使用PM进行硬盘分区
- 基于微博的舆情监控系统 JAVA SSM MySQL
- record java_Java Record类代码示例
热门文章
- ITK:平移一个网格
- ITK:演示所有运算符
- OpenCV钻石Diamond 标记的检测
- Qt Creator设置3D组件属性
- OpenGL创建一个GLFW窗口的实例
- OpenGL创建窗口
- C语言实现图形ADT(Graph ADT)接口COMP2521(附完整源码)
- mysql 事务权限_0428-mysql(事务、权限)
- python四舍五入round_四舍五入就用round( )?Python四舍五入的正确打开方式!
- 安徽大学计算机考研失败,回馈:2014年安徽大学计算机初试回忆题,我是雷锋,低调...