ckeditor_3.6.6.2+CKFinder2.0.2配置
一、首先工具的下载,找到相应的版本进行下载
ckeditor_3.6.6.2+CKFinder2.0.2 http://ckeditor.com/download

打开war文件,然后将相关的jar文件复制到WEB-INF/lib下面即可,把ckeditor和ckfinder文件夹拷贝到web工程下,我是放到webapp/js路径下。当然可以去掉ckeditor里一些无关的文件.

说明:medsite为项目名称
二、配置文件
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 ){//配置CKFinderconfig.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、修改上传文件的文件名称
修改此类下的validateUploadItem方法
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;}
此时文件的名称就像上图展示的,以时间命名了
作者:少帅
出处:少帅的博客--http://www.cnblogs.com/wang3680
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但请保留该声明。
支付宝
微信

浙公网安备 33010602011771号