CKEditor學習筆記3(CKEditor與CKFinder的Java整合)
阿新 • • 發佈:2019-02-15
下載地址CKEditor
我下載的版本ckfinder_java_2.4
解壓之後,會看到一個CKFinderJava-2.4.war檔案,直接放到Tomcat/webapps釋出目錄下,把服務開啟就自動解壓了,然後將ckfinder目錄Copy到你專案WebRoot下。
步驟一:將CKFinderJava-2.4下的jar包Copy到你的專案下,還有WEB-INF/config.xml檔案Copy到你的專案WEB-INF/下。
步驟二:修改config.xml檔案(說明:CKFinderJava/userfiles/目錄儲存檔案的目錄)
關於檔名亂碼,圖片不能顯示問題。
解決方案一:修改Tomcat web.xml配置檔案
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="6060" protocol="HTTP/1.1" redirectPort="8443"/>
當然,該方式不合適,導致全部站點使用同樣的編碼方式(對於GET請求還存在其它問題)。
解決方案二:
修改原始碼,實現檔案重新命名
1、通過UUID.randomUUID().toString()
2、日期命名法
我建立新的專案,將CKFinder原始碼匯入,修改FileUploadCommand類的saveTemporaryFile方法,將newFileName重命令即可。
1、用壓縮軟體開啟jar包,找到修改檔案的路徑。
2、把編譯好的class檔案新增到jar包的該路徑下替換原來的檔案
3、收工!
不上程式碼了,希望大家自己能夠獨立解決哦。下一篇,介紹一下CKEditor一些基本常用配置。
我下載的版本ckfinder_java_2.4
解壓之後,會看到一個CKFinderJava-2.4.war檔案,直接放到Tomcat/webapps釋出目錄下,把服務開啟就自動解壓了,然後將ckfinder目錄Copy到你專案WebRoot下。
步驟一:將CKFinderJava-2.4下的jar包Copy到你的專案下,還有WEB-INF/config.xml檔案Copy到你的專案WEB-INF/下。
步驟二:修改config.xml檔案(說明:CKFinderJava/userfiles/目錄儲存檔案的目錄)
步驟三:在web.xml檔案,配置Servlet<enabled>true</enabled> <baseURL>/CKEditorAndCKFinder/CKFinderJava/userfiles/</baseURL>
步驟四:修改ckeditor/config.js檔案(當前也可以是自己編寫的js配置檔案,上一篇介紹過)<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/config.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> /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> /ckfinder/core/connector/java/connector.java </url-pattern> </filter-mapping> <session-config> <session-timeout>10</session-timeout> </session-config>
config.filebrowserBrowseUrl = '/CKEditorAndCKFinder/ckfinder/ckfinder.html' ; config.filebrowserImageBrowseUrl = '/CKEditorAndCKFinder/ckfinder/ckfinder.html?type=Images' ; config.filebrowserFlashBrowseUrl = '/CKEditorAndCKFinder/ckfinder/ckfinder.html?type=Flash' ; config.filebrowserUploadUrl = '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files' ; config.filebrowserImageUploadUrl = '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images' ; config.filebrowserFlashUploadUrl = '/CKEditorAndCKFinder/ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash' ; config.filebrowserWindowWidth = '1000'; config.filebrowserWindowHeight = '700'; config.language = "zh-cn" ;
關於檔名亂碼,圖片不能顯示問題。
解決方案一:修改Tomcat web.xml配置檔案
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="6060" protocol="HTTP/1.1" redirectPort="8443"/>
當然,該方式不合適,導致全部站點使用同樣的編碼方式(對於GET請求還存在其它問題)。
解決方案二:
修改原始碼,實現檔案重新命名
1、通過UUID.randomUUID().toString()
2、日期命名法
我建立新的專案,將CKFinder原始碼匯入,修改FileUploadCommand類的saveTemporaryFile方法,將newFileName重命令即可。
1、用壓縮軟體開啟jar包,找到修改檔案的路徑。
2、把編譯好的class檔案新增到jar包的該路徑下替換原來的檔案
3、收工!
不上程式碼了,希望大家自己能夠獨立解決哦。下一篇,介紹一下CKEditor一些基本常用配置。