# hm-tools-CKFinder **Repository Path**: hm-tools/hm-tools-CKFinder ## Basic Information - **Project Name**: hm-tools-CKFinder - **Description**: 移植到spring boot的CKFinder - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2019-03-11 - **Last Updated**: 2020-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hm-tools-CKFinder [![996.icu](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu) #### 介绍 - 为移植CKFinder到spring boot做框架结构试验,使之能优雅的整合本地磁盘文件、阿里云OSS文件存储、百度云OSS文件存储等各种文件存储方案。 - 官网指令信息页:[https://docs-old.ckeditor.com/CKFinder_2.x/Server_Side_Integration/The_Commands](https://docs-old.ckeditor.com/CKFinder_2.x/Server_Side_Integration/The_Commands) #### 软件架构 主要参照 spring cache、官方 ckfinder Java版的代码组织架构。 #### 实现目标 参照CKFinder源码,其对文件的操作命令有:init、getfiles、getFlod 等,且每个指令都是一个单独的类。即,为方便功能扩展,要求有: 1. 统一接收请求入口,即一个URL地址,命令以参数形式传输。 2. 支持多种文件存储系统,如:本地磁盘文件、阿里云OSS、百度云OSS。 3. 均统一至少支持如下指令: - Init: this is the first command issued by CKFinder. It returns the general settings of the connector and all configured resource types. - GetFolders: gets the list of the children folders of a folder. - GetFiles: similar to the above command, gets the list of the children files of a folder. - CreateFolder: creates a child folder. - RenameFolder: renames a folder. - DeleteFolder: deletes a folder. - RenameFile: renames a file. - DeleteFile: deletes a file. - CopyFiles copies files. - MoveFiles moves files. - FileUpload (non XML): adds a file in a folder. - QuickUpload (non XML): adds a file in a folder. - DownloadFile (non XML): downloads a file from the server. - Thumbnail (non XML): downloads the thumbnail of an image file. #### 启动流程图 ![boot flow](/images/启动流程图.png)