日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot集成CKFinder

發布時間:2023/12/31 javascript 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot集成CKFinder 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

Spring Boot集成CKFinder,實現瀏覽功能。

前言

上一篇記錄了Spring Boot集成CKEditor,這里記錄Spring Boot集成CKFinder實現瀏覽功能,詳細的配置可以參考ckeditor和ckfinder集成詳細配置及其優化,這里講在Spring Boot中怎么玩CKFinder。ckeditor中“瀏覽服務器”的后臺操作是自己寫代碼來實現瀏覽,界面操作不太友好。CKFinder的瀏覽界面不錯,而且還能定制不同的樣式。

集成

1.下載

下載Java 版本的CKFinder,支持Java的最新版本是2.6.2.1,3.x的CKFinder沒有提供Java實現。下載后是壓縮文件:【ckfinder_java_2.6.2.1.zip】

2.解壓

1.ZIP解壓

ZIP解壓后的目錄:

_source:源代碼;
CKFinderJava-2.6.2.1.war:war包,可以直接在Tomcat下面運行。

2.War包解壓

解壓War包:

直接把ckfinder文件夾拷貝到static目錄下面,和集成CKEditor一樣。

3.配置

1.資源路徑配置

WebMvcConfig中添加配置,把CKFinder添加到Spring Boot的資源路徑中,定義訪問路徑,便于訪問。

registry.addResourceHandler("/ckfinder/**").addResourceLocations("classpath:/static/ckfinder/");

2.Maven依賴配置

CKFinderJava-2.6.2.1\WEB-INF\lib下是用到的jar,pom中配置主要的jar包。

<!--CKFinder start--><dependency><groupId>com.ckfinder</groupId><artifactId>CKFinder</artifactId><version>2.6.2.1</version></dependency><dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.2.2</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.0.1</version></dependency><!--CKFinder end-->

這是CKFinder的簡單集成,下面來說說具體怎么玩。

功能實現

CKFinder集成以后,瀏覽功能還不能使用。

1.配置路徑

在CKEditor的配置文件config.js中配置訪問路徑。參考官網給出的例子

config.filebrowserImageBrowseUrl= '/ckfinder/ckfinder.html?type=Images'

不配置filebrowserImageBrowseUrl,下面的【瀏覽服務器】按鈕是沒有的。

點擊瀏覽服務器:

/ckfinder/core/connector/java/connector.java不可用,找不到。。。

這個路徑是CKFinder內置的,目前沒找到怎么修改這個路徑。不能修改那就實現這個路徑。

2.內置URL實現

查看web.xml文件,看看這個路徑是怎么定義的。

可以看到
/ckfinder/core/connector/java/connector.java
是由Servletcom.ckfinder.connector.ConnectorServlet來處理的。

這就簡單了,寫個Servlet來繼承它。

WebCkApplication中添加掃描Servlet的注解

URL解決了,試試按鈕能不能用。

恩,還是報錯從服務器讀取xml數據出錯,看看log怎么說。

Configuration不能正確初始化,在初始化讀取xml文件的時候報錯。。。

3.加載XML文件

1.config.xml文件

從web.xml中看到,還需要加載config.xml文件。config.xml在\WEB-INF目錄下,復制到classpath下,這里重命名為ckfinder.xml。

啟用CKFinder,enabled修改為True,默認是false,瀏覽功能是不能用的。

配置baseDir,如果沒配置baseDir,點擊瀏覽服務器按鈕的時候會在臨時目錄創建以下目錄:

配置的話,在配置路徑下也是有同樣的目錄結構的。和CKEditor上傳的路徑一致,這樣上傳的文件也可以直接瀏覽到。

2.classpath加載Xml文件

參考springboto集成ckfinder,重寫Configuration,從classpath下加載Xml文件。

DefaultResourceLoader loader = new DefaultResourceLoader();
Resource resource = loader.getResource(this.xmlFilePath);

Servlet中加載配置

@WebServlet(urlPatterns = "/ckfinder/core/connector/java/connector.java", initParams = {@WebInitParam(name = "XMLConfig", value = "classpath:ckfinder.xml"),@WebInitParam(name = "debug", value = "false"),@WebInitParam(name = "configuration", value = "com.wxs.ckeditor.config.CKFinderConfig") }) public class ImageBrowseServlet extends ConnectorServlet { }

到這里,Spring Boot集成CKFinder就完美實現了。

優化

使用的話就很簡單了,這里不再說了。寫一下后期的一些優化,是代碼更簡潔,維護更方便。

1.CKEditor、CKFinder使用同一個存儲路徑

ckfinder.xml中配置以下路徑

<baseDir>F:\\data\\file\\image\\</baseDir> <baseURL>http://localhost:8180/public/image/</baseURL>

http://localhost:8180/public/image/是在WebMvcConfig中定義的

CKFinder返回的URL中會自帶images

所以CKEditor用的存儲路徑和訪問路徑改為以下:

#磁盤存儲路徑 ckeditor.storage.image.path=F:\\data\\file\\image\\images\\ #訪問路徑 ckeditor.access.image.url=http://localhost:8180/public/image/images/

這樣就更好了,CKEditor、CKFinder使用同一個存儲路徑。

后續會在下個博文里對集成CKFinder做一下詳細的優化。

參考

CKEditor與CKFinder學習–整合SpringMVC

ckeditor和ckfinder集成詳細配置及其優化

源碼

轉載于:https://my.oschina.net/wuxinshui/blog/967673

總結

以上是生活随笔為你收集整理的Spring Boot集成CKFinder的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。