CKeditor如何實現圖片上傳功能

第一步:工具下載

 

 本人使用的開發工具爲myeclipse10,服務器爲apache-tomcat-6.0.30

首先進入CKeditor和CKfinder官網下載所需工具包

進入CKeditor下載地址:http://ckeditor.com/download

 

進入CKfinder下載地址:http://ckfinder.com/download

 

下載成功後包爲: ckeditor_3.6.5.zip ckfinder_java_2.3.zip 這是最新版,若以後有更新,只需下載新版即可,步驟不變哦!

第二部:在myeclipse10建立項目CKeditor

右鍵單擊new一個webproject,輸入所建立的項目名CKeditor如圖所示:

 

第三部:將ckeditor和ckfinder整合到項目中

 

1、先解壓 ckeditor_3.6.5.zip ,解壓文件全部拷到webroot下面,結構如下圖所示:

修改ckeditor文件夾下的config.js文件,代碼如下:

 

  1.  
  2. {
  3. // Define changes to default configuration here. For example:
  4. // config.language = 'fr';
  5. // config.uiColor = '#AADC6E';
  6. //配置默認配置
  7. config.language = 'zh-cn'; //配置語言
  8. // config.uiColor = '#FFF'; //背景顏色
  9. // config.width = 400; //寬度
  10. // config.height = 400; //高度
  11. // config.skin = 'v2'; //編輯器皮膚樣式
  12. // 取消 “拖拽以改變尺寸”功能
  13. // config.resize_enabled = false;
  14. // 使用基礎工具欄
  15. // config.toolbar = "Basic";
  16. // 使用全能工具欄
  17. config.toolbar = "Full";
  18. //使用自定義工具欄
  19. // config.toolbar =
  20. // [
  21. // ['Source', 'Preview', '-'],
  22. // ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', ],
  23. // ['Undo', 'Redo', '-', 'Find', 'Replace', '-', 'SelectAll', 'RemoveFormat'],
  24. // ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', SpecialChar','PageBreak'],
  25. // '/',
  26. // ['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript'],
  27. // ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'],
  28. // ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
  29. // ['Link', 'Unlink', 'Anchor'],
  30. // '/',
  31. // ['Format', 'Font', 'FontSize'],
  32. // ['TextColor', 'BGColor'],
  33. // ['Maximize', 'ShowBlocks', '-', 'About']
  34. // ];
  35. // 在 CKEditor 中集成 CKFinder,注意 ckfinder 的路徑選擇要正確。
  36. config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html',
  37. config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html?type=Images',
  38. config.filebrowserFlashBrowseUrl = 'ckfinder/ckfinder.html?type=Flash',
  39. config.filebrowserUploadUrl = 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Files',
  40. config.filebrowserImageUploadUrl = 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Images',
  41. config.filebrowserFlashUploadUrl = 'ckfinder/core/connector/java/connector.java?command=QuickUpload&type=Flash',
  42. config.filebrowserWindowWidth = '1000',
  43. config.filebrowserWindowHeight = '700'
  44. };
2、接着解壓:ckfinder_java_2.3.zip ,將ckfinder_java_2.3./ckfinder下的 CKFinderJava.war(通過微軟winrAR可以進行解壓)再次解壓,找到CKFinderJava下的ckfinder文件夾,將其拷貝到WebRoot根目錄下,目錄結構如下圖所示:
 

此處出現兩處錯誤:其中_samples文件夾可以直接刪除,而jquery.min.js出錯,是因爲採用了壓縮(縮小版)的jquery庫,不被識別。

解決辦法

我們可以將jquery.min.js文件刪除,到jquery官網重新下載個完整版的,

選擇jquery-1.7.1.js,右擊鏈接另存爲到你想要放置的路徑。將該文件重新命名爲jquery.min.js放到原來文件所在的位置,刷新項目,錯誤就這麼輕易的解決了!

然後整合jar包,到剛纔的war包,

 

jar包全部拷貝放到項目WebRoot --> WEB-INF --> lib

接着把配置文件:config.xmlweb.xml(直接替換掉原來的web.xml即可)也拷貝到WebRoot/WEB-INF

接着找到config.xml進行修改:

 

第二行的<enabled>false</enabled>換成:<enabled>true</enabled>

  1. 第四行的<baseURL>/CKFinderJava/userfiles/</baseURL>
  2. 換成<baseURL>/CKeditor/userfiles/</baseURL>
  3. 注意:此處的CKeditor是根據你的項目名定的,大小寫注意些準確,否則將會出現錯誤,記住哦。

最後:在Webroot下的index.jsp文件中<head></head>中加入

<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="ckfinder/ckfinder.js"></script>
 

 

第四步:看運行結果

選擇瀏覽服務器可以看到

 

 

選擇圖像屬性,可以實現上傳,選擇flash屬性,可以上傳flv文件,特別實用。

最後:去除版本信息

 

打開ckfinder下面的ckfinder.js文件,查找<h4,此標籤上添加隱藏樣式style='display:none;'

當想在WebRoot下建立admin後臺管理時,如圖:

在WEB-INF下面的lib導入包如下:

此時admin文件夾下的index.jsp代碼如下:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib uri="http://ckeditor.com" prefix="ckeditor"%>
  3. <%@ taglib uri="http://ckfinder.com" prefix="ckfinder"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>首頁</title>
  9. </head>
  10. <body>
  11. <form action="indexTo.jsp" method="post">
  12. <table style="margin-top: 30px;">
  13. <tr>
  14. <td align="right"><font color="#FF0000">*</font>標題:</td>
  15. <td align="left"><input type="text" name="title" id="title" size="120" maxlength="30"/></td>
  16. </tr>
  17. <tr>
  18. <td colspan="2">&nbsp;</td>
  19. </tr>
  20. <tr>
  21. <td align="right"><font color="#FF0000">*</font>內容:</td>
  22. <td align="left">
  23. <ckfinder:setupCKEditor editor="content" basePath="../ckfinder/" />
  24. <ckeditor:editor basePath="../ckeditor/" editor="content" value="asasfasf" />
  25. </td>
  26. </tr>
  27. <tr>
  28. <td colspan="2"><input type="hidden" name="cid" value="1">&nbsp;</td>
  29. </tr>
  30. <tr>
  31. <td colspan="2" align="right">
  32. <input type="submit" value="提交" "/>&nbsp;&nbsp;
  33. <input type="button" value="返回" onclick="history.go(-1)"/>
  34. </td>
  35. </tr>
  36. </table>
  37. </form>
  38. </body>
  39. </html>

indexTo.jsp代碼如下:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib uri="http://ckeditor.com" prefix="ckeditor"%>
  3. <%@ taglib uri="http://ckfinder.com" prefix="ckfinder"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>首頁</title>
  9. </head>
  10. <body>
  11. <form action="IndexTo.jsp" method="post">
  12. <table style="margin-top: 30px;">
  13. <tr>
  14. <%
  15. String content = request.getParameter("content");
  16. %>
  17. <td align="right"><font color="#FF0000">*</font>內容:</td>
  18. <td align="left">
  19. <ckfinder:setupCKEditor editor="content" basePath="../ckfinder/" />
  20. <ckeditor:editor basePath="../ckeditor/" editor="content" value="<%=content %>"/>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td colspan="2"><input type="hidden" name="cid" value="1">&nbsp;</td>
  25. </tr>
  26. <tr>
  27. <td colspan="2" align="right">
  28. <input type="submit" value="提交" "/>&nbsp;&nbsp;
  29. <input type="button" value="返回" onclick="history.go(-1)"/>
  30. </td>
  31. </tr>
  32. </table>
  33. </form>
  34. </body>
  35. </html>

至此,大功告成,大神略過,希望能對你有點用,親!

 

 

 

  1. /*
  2. Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
  3. For licensing, see LICENSE.html or http://ckeditor.com/license
  4. */
  5. CKEDITOR.editorConfig = function( config )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章